2009-08-27 14 views
5

Ho un'applicazione Java in esecuzione in JBoss in cui ho abilitato JMX remote monitoring. Ciò mi consente di connettermi con strumenti come jconsole e visualvm per monitorare l'utilizzo della memoria, l'utilizzo della CPU, mbeans e altro. Il server su cui è in esecuzione la mia applicazione ha però un accesso limitato alle porte, ed è per questo che sto usando lo JSR-262 JMX WS Connector.Come avviare VisualVM con il connettore WS JMXWS (JSR-262)?

L'implementazione JSR-262 ha un esempio di come abilitare jmx: il protocollo ws per jconsole. Ma mi piacerebbe provare lo stesso per visualvm.

quello che credo che devo fare è, al momento del lancio VisualVM:

  1. Aggiungere una serie di ulteriori JSR-262 vasetti al classpath
  2. Impostare i java.endorsed.dirs ad un percorso in cui il librerie JAXWS disaggregate risiedono

Qualcuno può indicarmi la giusta direzione? Esiste un meccanismo per fornire argomenti aggiuntivi per visualvm? Funzionerà affatto? C'è anche un modo più semplice?

+0

Come è stato configurato JSR-262 sul server JBoss? Se non sbaglio, il connettore JMX WS deve essere registrato anche sul lato server. – mjn

risposta

6

Ho trovato la risposta. Al momento in esecuzione la versione Linux di VisualVM, ho scoperto che ci sono sono certo numero di argomenti riga di comando disponibili:

 
General options: 
    --help    show this help 
    --nosplash   do not show the splash screen 
    --jdkhome  path to Java(TM) 2 SDK, Standard Edition 
    -J  pass to JVM 

    --cp:p  prepend to classpath 
    --cp:a  append to classpath 
Core options: 
    --laf use given LookAndFeel class instead of the default 
    --fontsize  set the base font size of the user interface, in points 
    --locale use specified locale 
    --userdir  use specified directory to store user settings 

Module reload options: 
    --reload /path/to/module.jar Installs or reinstalls a module JAR file. 

Additional Module(s) Option(s): 
    --openjmx   open application specified by JMX connection (host:port) 
    --openid    open application with id 
    --openpid   open application with process id 
    --openfile   open file specified by , file can be Application snapshot, NetBeans Profiler snapshot or HPROF heap dump. 

Questo mi ha portato a cercare il seguente comando:

visualvm\bin\visualvm -cp:a lib\wiseman-core.jar;lib\jmxws.jar -J-Djava.endorsed.dirs=lib\endorsed 

che funziona come un fascino.