IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[JMX] Standard MBean conventions


Sujet :

API standards et tierces Java

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut [JMX] Standard MBean conventions
    Bonjour à toutes et à tous.

    Je développe une serie de classes de tests sous forme de MBean et je me retrouve confronté à un petit souci assez gênant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    ObjectName o1 = new ObjectName("test.mbeans:type=TestString");
    ObjectName o1 = new 
    		PerfRunnableMBean mb1 = new TestString();
    mbs.registerMBean(mb1, o1);
    Voici la trace obtenue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in thread "main" javax.management.NotCompliantMBeanException: MBean class test.TestString does not implement DynamicMBean, neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class test.TestString is not a JMX compliant Standard MBean) nor the MXBean conventions (javax.management.NotCompliantMBeanException: test.TestString: Class test.TestString is not a JMX compliant MXBean)
    	at com.sun.jmx.mbeanserver.Introspector.checkCompliance(Introspector.java:160)
    	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:305)
    	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
    	at test.MainTest.main(MainTest.java:23)
    Pour info, voici l'interface que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package test;
     
    public interface PerfRunnableMBean {
     
    	public void run();
    	public long getElapsedTime();
    }
    Elle est pourtant conforme à la spécification JMX non ?

    et l'entête de ma classe ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class TestString implements PerfRunnableMBean {
    Merci de votre aide !
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Autant pour moi...
    Erreur d'interprétation de la spécification.

    Une interface suffixée par MBean ne suffit pas !
    Le préfixe de l'interface DOIT porter le nom du bean managé !

    Exemple :

    class => TestString
    interface=> TestStringMBean
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  3. #3
    Membre habitué
    Profil pro
    Dev NodeJS
    Inscrit en
    Août 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev NodeJS

    Informations forums :
    Inscription : Août 2006
    Messages : 177
    Points : 181
    Points
    181
    Par défaut
    Pour compléter cette réponse, puisque je suis tombé sur ce problème, il faut que le préfixe avec le nom de package soit identique:

    a.b.c.Service
    a.b.c.ServiceMBean

    Juste au cas ou...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème mbeans jmx
    Par wiss85 dans le forum Général Java
    Réponses: 1
    Dernier message: 03/02/2010, 22h25
  2. [JMX] Accessing MBeans in a Standalone Environment
    Par Abdelmonam Kouka dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 08/06/2009, 10h38
  3. [JMX] [Hivemind] Deux instanciations de MBean sur même serveur
    Par burhud dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/08/2008, 11h08
  4. Jboss 4.0.5, Jmx, Mbean
    Par nakata77 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 29/01/2007, 15h48
  5. Problème avec la JMX console (configuration MBean)
    Par FredKéKé dans le forum Spring
    Réponses: 8
    Dernier message: 16/01/2007, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo