首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Glassfish -描述web应用程序运行的环境

Glassfish -描述web应用程序运行的环境
EN

Stack Overflow用户
提问于 2010-02-05 22:44:19
回答 3查看 414关注 0票数 0

我希望web应用程序能够了解有关其环境的信息,以便在发生异常时能够描述各种细节。

如何在web应用程序中获取运行glassfish的ip地址?

我还想对配置、JDBC连接、JMS、JNDI等进行快照。这可能吗?

我猜这与glassfish和注入bean或mbean的API更相关。

沃尔特

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-01 00:06:19

我执行以下操作:

  1. 查找计算机上的所有网络接口
  2. 记录JVM信息

这为我提供了足够的信息来确定问题的来源。

沃尔特

票数 0
EN

Stack Overflow用户

发布于 2010-02-05 22:49:37

如何在web应用程序中获取运行glassfish的ip地址?

你可以在ServletRequest中获得这样的信息,例如port

我还想对配置、JDBC连接、JMS、JNDI等进行快照。这可能吗?

您将需要依赖于连接或连接工厂的元数据。如果害怕,这不是完全便携的,但你应该能够获得一些信息,例如JDBC metadata

您还可以连接Glassfish的JMX bean。我曾经在一个web应用程序中这样做过一次,以监控随时间分配的连接。如果您知道要查找的JMX bean的名称(例如,如果您知道数据源的名称),您可以在那里获得信息。基本上,原生Glassfish控制台显示的所有内容都在那里。

你也许可以在启动时用一个ServletContextListener收集所有的信息,然后把它们存储在某个地方,以便在出现异常的情况下把它们吐出来。

请注意,您可以向最终用户透露潜在的敏感信息,这不是建议的做法。

票数 0
EN

Stack Overflow用户

发布于 2010-02-07 00:21:58

如何在web应用程序中获取运行glassfish的ip地址?

为此使用ServletRequest#getLocalPort() (而不是ServletRequest#getServerPort(),它实际返回请求发送到的端口号,最常见的是80,由于路由/负载平衡,它可能与容器侦听的端口不同)。

我还想对配置、JDBC连接、JMS、JNDI等进行快照。这可能吗?

您也许可以浏览JNDI树来查看其中的内容,但是您的应用程序不应该知道所有的细节(请理解:我不认为您能够访问所有的元数据,至少不能通过这种方式)。

另一种选择是连接到GlassFish's exposed administrative MBeans via JMX。但这将需要管理员凭据(因此可能不可能)。

也许你应该澄清你的需求和约束,以获得更准确的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2207934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档