java - 在 OSGi/Equinox 上监控

标签 java osgi monitoring jmx

我们使用 Equinox 作为我们应用程序的运行时。 OSGi 模块化很棒,但我怀念 JBoss 时代的一件事:监控设施。 JMX 是 JVM 中的监控标准,但 Equinox 似乎没有为它提供太多内置支持。

除了春分 Resource Monitoring项目,自 2007 年以来似乎已经过时(并且没有退出孵化),有哪些选择?

其他 OSGi/Equinox 采纳者使用什么来监控基于 OSGi 的应用程序?其他 OSGi 实现呢?这对于触发迁移非常重要,例如Felix+Karaf 会提供更好的监控支持。

最佳答案

有几个选项可用。 Gemini Management为框架的 JMX 监视提供 OSGi 标准的实现。

如果您想监控 Servlet 环境,您需要查看 Servlet 引擎提供的选项。我们在 Gyrex 中包含 Jetty它提供了几个选项。我们还添加了更多的 JMX bean 来测量平均请求时间、关于最后一个错误的信息等等。

实现您自己的 JMX bean 实际上并不困难。您可以从代码中的任何位置调用 ManagementFactory.getPlatformMBeanServer().registerMBean(...) 来注册 bean。看看our service tracker implementation它为特定类型的每个已注册服务对象注册一个 JMX 监视 bean。

关于java - 在 OSGi/Equinox 上监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451810/

相关文章:

java - 如何检测嵌套分割 Pane 分隔线上的鼠标单击事件?

logging - 如何在 Bugsnag 中查找事件错误中的任何文本?

java - J2SE 中的手机监控器

java - OSGi 还是 URLClassLoader?

OSGi 事件管理员

java - log4j2 与 pax-logging : can't use values from StructuredDataMessage

amazon-web-services - 如何计算对特定RDS实例进行增强监视的成本。

java - vaadin (14.4.4) 应用程序 : Failed to determine project directory for dev mode . .. 在部署之前生成 "flow-build-info.json"

java - 无法设置 JFrame 的最大大小(Windows 下)

java - 无法在 AMD 64 位平台上加载 IA 32 位 .dll