2010-10-08 6 views
11

Ich habe einen Java-Prozess, der auf einem Remote-Computer ausgeführt wird, und der Prozess richtet einige MBeans ein. Ich habe auch jstatd läuft auf dieser Maschine als der gleiche Benutzer wie der Java-Prozess. (Die MBeans können programmgesteuert oder unter Verwendung von -Dcom.sun.management.jmxremote... etc. eingerichtet werden, dies scheint keinen Unterschied zu machen).Kann VisualVM automatisch über JMX mit einem Remote-Prozess verbinden?

VisualVM ist in der Lage, eine jstatd Verbindung zum Prozess herzustellen, die automatisch erkannt wird, aber das bedeutet, dass ich keinen Zugriff auf mBeans oder beispielsweise das CPU-Verlaufsdiagramm bekomme. Alternativ kann ich eine explizite JMX-Verbindung erstellen, die mir die üblichen nützlichen Tools zur Verfügung stellt. Ich möchte jedoch, dass der Anwendung beim Start ein zufälliger JMX-Port zugewiesen wird. Diese Konfiguration kann nicht statisch sein.

Gibt es eine Möglichkeit, VisualVM über JMX automatisch mit meinem Prozess zu verbinden? Dies würde erfordern, dass es die JMX-Ports automatisch erkennt, aber ich hätte gedacht, jstatd könnte das tun. Kennt jemand irgendwelche Plugins für Visualvm, um dies zu automatisieren?

Antwort

13

Leider ist es nicht möglich, der Remote-Anwendung einen zufälligen JMX-Port zuzuweisen. Sie können Ihre Remote-Anwendung mit

-Dcom.sun.management.jmxremote.port=<fixed port> 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

und VisualVM werden in der Lage zu lesen, diese Konfiguration über Jvmstat (liefert von jstatd) und offene JMX-Verbindung zu Ihrer Remote-Anwendung automatisch gestartet. Sie müssen also Ihren Remote-Anwendungen feste Ports zuweisen. Sobald Sie es haben, wird alles gut funktionieren und VisualVM wird automatisch über JMX mit Ihrer Anwendung verbinden (in der Tat wird es Daten von Jvmstat und JMX kombinieren).

+0

Wie die meisten Socket-Aufrufe, können Sie den Port auf 0 setzen, und es wird dynamisch ausgewählt, dann verbindet jstatd Sie durch ... – time4tea

Verwandte Themen