2

glassfish 应用服务器提供了一个很好的监控 REST 接口。要使用它,您可以在管理控制台中启用多个可监控项目,例如 EJB 容器。文档说,您可以检索每个已部署应用程序的 EJB 统计信息。

如果您请求像localhost:4848/monitoring/domain1/server/applications/ APPNAME/EJBNAME 这样的 URL ,您将获得应用程序的给定 EJB 的统计信息。

此外,有可能更深入地研究 ejb 的每个 bean-method,例如executiontime,关于它的文档说:
“时间,以毫秒为单位,用于执行最后一次成功/不成功尝试运行该方法的时间操作。如果在 EJB 容器上启用了监视,则会为无状态和有状态会话 bean 和实体 bean 收集。

现在的问题是,在 EJB 容器上启用了监视(级别设置为 HIGH),但是在任何已部署应用程序的任何 EJB 中的任何 bean 方法中都没有采样。

豆子和/或玻璃鱼有什么特别的吗?

提前感谢您的帮助,

克里斯

编辑:

好的,我注意到有关该行为的更多信息:

在服务器日志中,您会收到每个已部署 EJB 的日志消息,如下所示:

INFO: EJB5181:Portable JNDI names for EJB DataFetcher // ...

如果我将 ejb-container 监视级别设置为 HIGH(这是我想要做的),我会为每个部署的 EJB 收到以下警告,无论我部署哪个应用程序:

WARNING: MNTG0201:Flashlight listener registration failed for listener class : com.sun.ejb.monitoring.stats.StatelessSessionBeanStatsProvider , will retry later 

我用谷歌搜索了警告,但没有一个结果真的能帮助我启用 EJB 监控......

4

3 回答 3

3

这似乎是 Glassfish 中的一个错误。
EJB 监控目前在 3.1.2 中不工作。
JIRA 问题已经提出:http: //java.net/jira/browse/GLASSFISH-19677

于 2013-02-19T19:59:36.677 回答
0

没有什么“特别”的事情要做。

http://docs.oracle.com/cd/E18930_01/html/821-2431/abeea.html

对我来说,好像您可能在错误的配置上启用了监控选项。请仔细检查。

于 2013-01-09T08:49:51.917 回答
0

要消除此消息,您可以在图像下方禁用对 ejb 容器的监控选项

Monitor Data--->Configure monitoring--->make ejb container log off 禁用监视器

于 2016-07-24T05:56:36.963 回答