2010-09-10 5 views
2

J'ai besoin d'exposer environ 60 opérations dans 30 classes différentes à JMX. Le faire avec DynamicMBean est un peu ennuyeux. Je cherche une manière rapide et élégante de le faire.Comment rendre JMX simple

Je sais que Spring a une bonne façon d'annoter mais je n'utilise pas le printemps dans ce projet.

+0

Quelque chose pour vous empêcher de présenter Spring dans votre projet? –

+0

c'est une longue histoire, mais je ne peux pas – fatnjazzy

+0

Envisager d'accepter ma réponse si elle était utile. – Gray

Répondre

0

Avez-vous vu l'annotation @MXBean, il peut être ce que vous êtes après, et fait partie de Java 6.

1

Si c'est juste un ensemble d'opérations faciles, vous pouvez utiliser le support de JMX prévu dans contrib Clojure :

Clojure Contrib

Clojure Java compile afin que vous n'auriez pas beaucoup des problèmes d'intégration avec votre projet en cours.

1

Pour la postérité, j'ai récemment publié mon SimpleJmx Java package qui est conçu pour publier facilement des beans via JMX en utilisant des annotations. Il a également le code client.

exemple de code rapide:

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

Voici comment définir un haricot.

@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() { 
     ... 
    } 
} 

Commentaires bienvenus.

+1

Commentaires: déplacez le projet vers github :) –

+0

Déplacé vers Github: https://github.com/j256/simplejmx – Gray

Questions connexes