JMX导出框架类似于Spring JMX exporter

JMX导出框架类似于Spring JMX exporter,jmx,spring-jmx,simplejmx,Jmx,Spring Jmx,Simplejmx,在没有使用Spring框架的情况下,是否有类似于Spring JMX exporter的东西 似乎是合理的,但似乎也是一个非常年轻的框架,只有一个人推动 我需要将一大堆属性、方法和类公开为JMX,但我不想摆弄JMXAPI和编写大量JMX接口 而且没有办法在项目中引入Spring(以防万一)。非常感谢您的任何提示或想法:-)我可以访问图书馆。查看以下示例: @Managed(description = "The current number of active connections that h

在没有使用Spring框架的情况下,是否有类似于Spring JMX exporter的东西

似乎是合理的,但似乎也是一个非常年轻的框架,只有一个人推动

我需要将一大堆属性、方法和类公开为JMX,但我不想摆弄JMXAPI和编写大量JMX接口

而且没有办法在项目中引入Spring(以防万一)。非常感谢您的任何提示或想法:-)

我可以访问图书馆。查看以下示例:

@Managed(description = "The current number of active connections that have been allocated from this data source.")
public synchronized int getNumActive() {
    return super.getNumActive();
}

我本人从未使用过该库,但似乎很有效。

好的,我已经很快地进行了评估和分析。这两种方法都按预期工作,与SpringJMX导出器非常相似。然而,我发现jmxutil在我的例子中更有用

使用JMXUtils,很容易将mbean注册/注销到已经启动的平台mbean服务器。在我的例子中,我使用GlassFishV3作为应用服务器,我不想仅仅为我自己的MBean启动另一个MBean服务器

据我所知,SimpleJMX的API不允许这样做,您要么被迫使用SimpleJMX API启动另一个MBeanServer并注册创建的mbean(使用API非常容易),要么开始尝试将mbean注册到平台mbean服务器中。后者有点复杂,因此我决定使用JMXUtils

JMXUtils的缺点是对bean名称的操作。SimpleJMX在注释(domainName,beanName)中使用属性,这非常有用,但是使用JMXUtils时,您必须知道在使用mbean域时命名mbean的语法。总而言之,这没什么大不了的,但就我的口味而言,SimpleJMX有更好的解决方案


底线是,这两个图书馆都很好,都做了自己的工作。我决定使用JMXUtils。

谢谢Tomasz。这听起来很有用。我将尝试一下,并将其与SimpleJMX进行比较。JMXUtils似乎由一个人维护,但在github上是活动的。因此,至少还有其他选择:-)对于记录,SimpleJMX确实允许您使用平台mbean服务器。