首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSGi/Equinox上的监控

OSGi/Equinox上的监控
EN

Stack Overflow用户
提问于 2012-07-12 20:25:31
回答 4查看 4.1K关注 0票数 3

我们使用Equinox作为我们应用程序的运行时。OSGi的模块性很好,但在JBoss时代,我遗漏了一件事:监控工具。JMX是JVM中监控的标准,但是Equinox似乎没有提供太多的内置支持。

除了Equinox Resource Monitoring项目,该项目似乎自2007年以来就已经过时了(并且没有退出孵化阶段),还有什么选择?

其他OSGi/Equinox采用者还使用什么来监控基于OSGi的应用程序?其他的OSGi实现呢?这一点非常重要,足以在Felix+Karaf提供更好的监控支持的情况下触发迁移。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-13 01:43:03

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

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

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

票数 3
EN

Stack Overflow用户

发布于 2012-07-13 02:59:24

我推荐使用Apache Karaf。您可以将其与Felix或Equinox一起使用。它提供了大量的监控功能。只需启动karaf并与Jconsole连接即可。除了JMX之外,它还有Felix Webconsole和一个很棒的命令行,也可以通过ssh使用。

票数 2
EN

Stack Overflow用户

发布于 2015-12-10 02:18:57

我在googling上搜索equinox + JMX时发现了这个帖子。由于这个帖子来自2012年,其他人可能会在未来围绕这个问题,是时候添加另一个适合我的解决方案了。

您可以很容易地使用Aries JMX。下面你可以找到白羊座文档的总结。要执行此操作,请添加

  • 简单的捆绑包

导入java.lang.management.ManagementFactory;导入javax.management.MBeanServer;导入org.osgi.framework.BundleActivator;导入org.osgi.framework.BundleContext;公共类激活器实现异常{ public void start(BundleContext context)抛出异常{ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();public mbs,null);} public void stop( }

  • Aries JMX Bundle

  • Aries JMX API Bundle

  • Aries Util Bundle

context)抛出异常{} }BundleContext

因此,可以通过例如JConsole访问Equinox容器。

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

https://stackoverflow.com/questions/11451810

复制
相关文章

相似问题

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