2015-06-08 4 views
12

Ich habe eine einfache JMX-Anwendung, die MBeans basierend auf this tutorialErweiterung JConsole Funktionalität für die Client-Remote-Verbindungen

Ist es möglich, starten Sie diese Anwendung mit einer benutzerdefinierten Klasse in dem Classpath, die JConsole erstreckt, so dass, wenn ein Client ausgesetzt versucht, remote auf das erweiterte jconsole-Fenster zuzugreifen?

So zum Beispiel, ich erstelle eine einfache Anwendung und verpacke es in MyApp.jar. Dann laufe ich es mit den folgenden Befehlen in der cmd:

java -classpath JconsoleExtension.jar;MyApp.jar 
-com.sun.management.jmxremote.login.config=management.properties 
-Djava.security.auth.login.config=./sample_jaas.config 
com.test.running.RunningImplementation 

Mit managepement.properties suchen etwas wie folgt aus:

com.sun.management.jmxremote=true 
com.sun.management.jmxremote.port=1234 
com.sun.management.jmxremote.login.config=Sample 

Ist es möglich, dass ein Client eine Remote-Verbindung mit:

jconsole hostname:1234 

Und Pull-up das Jconsole-Fenster mit der erweiterten Funktionalität?

Oder würde der Kunde hat die Erweiterung zu verweisen, wenn die Verbindung versuchen, so etwas wie:

jconsole hostname:1234 -classpath JconsoleExtension.jar 
+0

Kann der Client 'jconsole' (ein Programm, das standardmäßig mit einem JDK ausgeliefert wird) nicht aufrufen und den MBeanServer (und ggf. die Anmeldeinformationen) der JMX-Anwendung hinzufügen und die MBeans anzeigen? –

+0

Ja, aber ich möchte die jconsole-Ansicht anpassen, die alle Benutzer sehen werden. – Loco234

Antwort

4

Es sieht aus, als ob JConsole nicht auf der Serverseite erweitert werden kann. Die Erweiterung muss von der Clientseite aus aufgerufen werden und als solche müssen sie Zugriff auf die .jar haben, wo sie erweitert wird.

Verwandte Themen