2010-09-10 112 views
2

我需要在30個不同的類中向JMX公開大約60個操作。使它與DynamicMBean有點煩人。我正在尋找一種快速和優雅的方式來做到這一點。如何使JMX變得簡單

我知道Spring有一個不錯的註解方式,但我沒有在這個項目中使用spring。

+0

任何阻止你將Spring引入到你的項目中的東西? – 2010-09-10 06:39:08

+0

這是一個很長的故事,但我不能 – fatnjazzy 2010-09-10 06:47:32

+0

考慮接受我的答案,如果它有幫助。 – Gray 2017-03-27 19:02:53

回答

0

你看過@MXBean註解,它可能是你以後,並且是Java的6

1

的一部分,如果它只是一組簡單的操作,您可以使用Clojure中的contrib提供的JMX支持:

Clojure Contrib

的Clojure編譯爲Java,所以你不會有太大問題與您當前的項目整合。

1

對於後代,我最近發佈了我的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

反饋:將項目移動到github :) – 2012-05-17 17:39:30

+0

移動到Github:https://github.com/j256/simplejmx – Gray 2014-04-05 19:27:54