Gad*_*adi 3 java jmx glassfish ejb-3.0 jakarta-ee
我需要 JMX 和 Java EE 方面的指导。
我知道(经过几周的研究)就部署而言,JMX 规范是缺失的。我正在寻找的供应商特定实现很少,但没有一个是跨供应商的。我想自动部署 MBean 并在服务器上注册。我需要服务器在部署应用程序时加载和注册我的 MBeand,并在取消部署应用程序时删除它。
我使用以下软件进行开发:NetBean 6.7.1、GlassFish 2.1、Java EE 5、EJB 3
更具体地说,我需要一种管理计时器服务运行的方法。我的应用程序需要运行不同的归档代理和批量报告。我希望 JMX 能够让我远程访问以创建和管理计时器服务,并使用户能够创建自己的时间表。如果 JMX 在应用程序部署时自动注册,用户可以立即连接并管理计划。另一方面,EJB 如何连接/访问 MBean?
提前谢谢了。加迪。
几年前我研究过 Glassfish 中的 JMX 和 EJB,所以我不记得所有细节。但这可能仍然有帮助。
Glassfish 特定的 JMX。Glassfish 有AMX,并且可以部署自定义 MBean 。AFAIK,此类 bean 旨在监视服务器本身,而不是与特定应用程序密切交互。这样的 bean 可以持久化,Glassfish 将在重新启动时将其值存储在某个地方。也许看看吧。
注册和查找。MBeanPlatform您可以随时在应用程序中使用、 或注册 MBeanMBeanServer。看到这个链接,具体记不太清了。您还可以查找其他 JMX bean 并对它们调用操作。不过,查找的名称有点疯狂。您可以在应用程序时注册 MBean。从 a 内部开始ServletContextListener。
类加载器和部署。MBean 和 EJB 实例位于不同的Classloader. 我认为您需要将.jarMBean 实现放置在 Glassfish 部署目录结构中,或者.jar通过管理控制台将其添加到类路径列表中。您可以相对轻松地从 EJB 模块内注册 Bean,但 Bean 无法轻松访问 EJB,至少从我的经验来看是这样。
我设法使用普通 JMX 来公开我的 EJB 应用程序的统计信息,并且效果相对较好。但我不知道是否需要更具交互性的内容,就像您希望 EJB 根据使用 JMX 配置的计时器更改其行为的情况一样。我担心您会遇到这种方法的麻烦。
尽管我记得很模糊,但希望它能有所帮助。
| 归档时间: |
|
| 查看次数: |
4136 次 |
| 最近记录: |