2010-09-10 2 views
2

Мне нужно показать около 60 операций в 30 разных классах для JMX. Сделать это с DynamicMBean немного раздражает. Я ищу быстрый и элегантный способ сделать это.Как сделать JMX простым

Я знаю, что весна имеет приятный способ с аннотациями, но я не использую весну в этом проекте.

+0

Что-нибудь, чтобы остановить вас, добавив Spring в свой проект? –

+0

Это долгая история, но я не могу – fatnjazzy

+0

Рассмотрите возможность принятия моего ответа, если это было полезно. – Gray

ответ

0

Вы видели @MXBean аннотацию, это может быть то, что вы после этого, и является частью Java 6.

1

Если это просто набор простых операций, вы можете использовать JMX поддержку, оказываемую в Clojure вно :

Clojure Contrib

Clojure компилирует Java, так что вы не имели бы много проблем интеграции с текущим проектом.

1

Для потомков, я недавно выпустил свой SimpleJmx Java package, который предназначен для легкого опубликования beans через JMX с помощью аннотаций. Он также имеет клиентский код.

Быстрый пример кода:

// 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(); 

Вот как определить боб.

@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 :) –

+0

Перемещено в Github: https://github.com/j256/simplejmx – Gray

Смежные вопросы