如何使JMX简单

时间:2010-09-10 06:35:04

标签: java jmx

我需要在30个不同的类中向JMX公开大约60个操作。使用DynamicMBean制作它有点烦人。我正在寻找一种快速而优雅的方式来做到这一点。

我知道Spring有一个很好的注释方式,但我没有在这个项目中使用spring。

3 个答案:

答案 0 :(得分:2)

请查看我的SimpleJmx Java package,它旨在通过JMX使用注释轻松发布bean。它也有客户端代码。

快速代码示例:

// you can also use the platform mbean server
JmxServer jmxServer = new JmxServer(8000);
jmxServer.start();
// register our lookupCache object defined below
jmxServer.register(lookupCache);
...
jmxServer.stop();

以下是如何定义bean。

@JmxResource(domainName = "j256", description = "Lookup cache")
public class LookupCache {
    @JmxAttributeField(description = "Number of hits in the cache")
    private int hitCount;
    ...

    @JmxOperation(description = "Flush the cache")
    public void flushCache() {
       ...
    }
}

欢迎反馈。

答案 1 :(得分:1)

如果它只是一组简单的操作,您可以使用Clojure contrib中提供的JMX支持:

Clojure Contrib

Clojure编译为Java,因此您在与当前项目集成时不会遇到太多问题。

答案 2 :(得分:0)

您是否看过@MXBean注释,它可能是您所追求的,并且是Java 6的一部分。