2015-06-08 44 views
12

ho una semplice applicazione JMX che ha esposto MBeans basate su this tutorialestendere le funzionalità JConsole per le connessioni remote client

è possibile lanciare questa applicazione con una classe personalizzata nel percorso di classe che si estende JConsole, in modo che quando un cliente prova ad accedervi da remoto si apre la finestra estesa di jconsole?

Ad esempio, creo un'applicazione semplice e la impacchetta in MyApp.jar. Poi ho eseguito con i seguenti comandi nel 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 

Con managepement.properties cercando qualcosa di simile:

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

E 'possibile per un client di connettersi in remoto utilizzando:

jconsole hostname:1234 

E aprire la finestra di jconsole con la funzionalità estesa?

Oppure, sarebbe il cliente deve fare riferimento l'estensione quando si cerca di connettersi, in modo da qualcosa come:

jconsole hostname:1234 -classpath JconsoleExtension.jar 
+0

Il client non può richiamare 'jconsole' (un programma fornito di serie con un JDK) e aggiungere l'MBeanServer dell'app dell'appliance JMX (e le eventuali credenziali) ad esso e visualizzare gli MBean? –

+0

Sì, ma quello che sto cercando di fare è personalizzare la vista di jconsole che tutti gli utenti vedranno. – Loco234

risposta

4

Sembra come se JConsole non può essere esteso sul lato server. L'estensione deve essere chiamata dal lato client, e come tale dovrebbero avere accesso a .jar dove è estesa.