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
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? –
Ja, aber ich möchte die jconsole-Ansicht anpassen, die alle Benutzer sehen werden. – Loco234