2009-08-27 6 views
5

J'ai une application Java exécutée dans JBoss dans laquelle j'ai activé JMX remote monitoring. Cela me permet de me connecter avec des outils tels que jconsole et visualvm pour surveiller l'utilisation de la mémoire, l'utilisation du processeur, mbeans, et plus encore. Le serveur sur lequel mon application est en cours d'exécution a un accès au port restrictif, ce qui explique pourquoi j'utilise le JSR-262 JMX WS Connector.Comment démarrer VisualVM avec le connecteur WS JMXWS (JSR-262)?

L'implémentation de JSR-262 présente un exemple d'activation du protocole jmx: ws pour jconsole. Mais je voudrais essayer la même chose pour visualvm.

Ce que je crois que je dois faire est, lors du lancement visualvm:

  1. Ajouter un certain nombre de JSR-262 supplémentaires pots au classpath
  2. Définissez les java.endorsed.dirs sur un chemin où la les bibliothèques JAXWS dégroupées résident

Est-ce que quelqu'un peut me diriger dans la bonne direction? Existe-t-il un mécanisme pour fournir des arguments supplémentaires à visualvm? Cela fonctionnera-t-il du tout? Y a-t-il même un moyen plus facile?

+0

Comment avez-vous configuré JSR-262 sur le serveur JBoss? Si je ne me trompe pas, le connecteur JMX WS doit également être enregistré côté serveur. – mjn

Répondre

6

J'ai trouvé la réponse. Lors de l'exécution de la version linux de visualvm, je trouve qu'il y a sont nombre d'arguments de ligne de commande disponibles:

 
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. 

Cela m'a amené à essayer la commande suivante:

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

qui fonctionne comme un charme.