TP_JMX question 2

Conception de logiciels Intranet : patrons et canevas

Modérateurs : Douin, graffion

StevenW
Messages : 11
Inscription : 11 mars 2017 8:29

TP_JMX question 2

Message par StevenW » 14 avr. 2017 7:57

Bonjour,

J'ai un échec lors de l'évaluation à Jnews :

Code : Tout sélectionner

There was 1 failure: 
1) test_TCPServerStarterMBean(question2): exception inattendue ! java.io.IOException
Dans la classe TCPServerStarter il y avait déjà un peu de code écrit dans le constructeur :

Code : Tout sélectionner

TCPServer bean = new TCPServer();

// Effectuer les opérations de démarrage du server ici
// server est un TCPServerMBean
//server.create(port);
//server.start();
Faut-il manipuler deux instances de TCPServer dont une nommée "bean" et l'autre "server" ou c'est une erreur et celle qui est appelée "bean" suffit.

Merci,

Steven

TSwank
Messages : 14
Inscription : 05 juin 2014 11:03

Re: TP_JMX question 2

Message par TSwank » 15 avr. 2017 19:41

Bonjour Steven,

De mon côté ça passe en retirant la variable bean et en affectant directement le TCPServer à la variable server.
Je n'ai peut être pas compris quelque chose mais ça passe au niveau des tests.

Thomas

saulnierJp
Messages : 16
Inscription : 27 déc. 2016 13:06

Re: TP_JMX question 2

Message par saulnierJp » 17 avr. 2017 8:13

Personnellement, j'ai fait ça et c'est passé:

Code : Tout sélectionner

// Effectuer les operations de demarrage du server ici
        this.server = (TCPServerMBean)
                MBeanServerInvocationHandler.newProxyInstance(mbs, name, TCPServerMBean.class, false);

        // server est un TCPServerMBean
        server.create(port);
        server.start();
        bean.addNotificationListener(this,null,null);

StevenW
Messages : 11
Inscription : 11 mars 2017 8:29

Re: TP_JMX question 2

Message par StevenW » 18 avr. 2017 1:12

Bonjour et merci pour vos réponses,

Thomas : J'ai fais comme toi en ne gardant que la variable server mais j'ai toujours le même échec avec une exception java.io.Exception.

Code : Tout sélectionner

	server = new TCPServer();
	ObjectName name = new ObjectName("TCPServer:name=TCPAgent_tests");
	mbs = ManagementFactory.getPlatformMBeanServer();
	mbs.registerMBean(server, name);
	
	server.create(port);
	server.start();
	server.addNotificationListener(this,null,null);
	
	JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/server");
	JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, this.mbs);
	cs.start();
JP : J'ai utlisé le proxy mais pareil toujours le même échec dans Jnews :

Code : Tout sélectionner

	TCPServer bean = new TCPServer();
	ObjectName name = new ObjectName("TCPServer:name=TCPAgent_tests");
	mbs = ManagementFactory.getPlatformMBeanServer();
	mbs.registerMBean(bean, name);
    
	this.server = (TCPServerMBean) MBeanServerInvocationHandler.
                                              	newProxyInstance(
                                                        mbs, 
                                                       	name, 
                                                        TCPServerMBean.class, 
                                                        false);      
	server.create(port);
	server.start();
        bean.addNotificationListener(this,null,null);
        
        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/server");
        JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, this.mbs);
        cs.start();
Merci à vous deux pour votre aide

Steven

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité