我需要在30個不同的類中向JMX公開大約60個操作。使它與DynamicMBean
有點煩人。我正在尋找一種快速和優雅的方式來做到這一點。如何使JMX變得簡單
我知道Spring有一個不錯的註解方式,但我沒有在這個項目中使用spring。
我需要在30個不同的類中向JMX公開大約60個操作。使它與DynamicMBean
有點煩人。我正在尋找一種快速和優雅的方式來做到這一點。如何使JMX變得簡單
我知道Spring有一個不錯的註解方式,但我沒有在這個項目中使用spring。
你看過@MXBean註解,它可能是你以後,並且是Java的6
的一部分,如果它只是一組簡單的操作,您可以使用Clojure中的contrib提供的JMX支持:
的Clojure編譯爲Java,所以你不會有太大問題與您當前的項目整合。
對於後代,我最近發佈了我的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() {
...
}
}
反饋歡迎。
反饋:將項目移動到github :) – 2012-05-17 17:39:30
移動到Github:https://github.com/j256/simplejmx – Gray 2014-04-05 19:27:54
任何阻止你將Spring引入到你的項目中的東西? – 2010-09-10 06:39:08
這是一個很長的故事,但我不能 – fatnjazzy 2010-09-10 06:47:32
考慮接受我的答案,如果它有幫助。 – Gray 2017-03-27 19:02:53