Unfähig JConsole mit Tomcat läuft als Windows-Dienst zu verwenden,
Frage
Ich bin mit tomcat 6.0.18 als Windows-Dienst. Im Service-Applet wird die JVM standardmäßig so konfiguriert, das heißt es jvm.dll den JRE verwendet wird.
Ich versuche, diese Anwendung mit JConsole zu überwachen, sondern es lokal keine Verbindung herstellen kann. Ich habe den Parameter -Dcom.sun.management.jmxremote (das funktioniert, wenn Kater mit dem start.bat Skript starten). Aber die Jvm scheint nicht den Parameter zu holen.
Lösung
Es ist eine nette GUI der Optionen, keine Notwendigkeit zu vertrödeln, in der Registrierung.
bearbeitenÖffnen Sie die Datei C: \ Programme \ Apache Software Foundation \ Tomcat 6.0 \ bin \ tomcat6.exe (oder klicken Sie einfach doppelt auf das Monitorsymbol in der Taskleiste). Gehen Sie auf die Java-Fenster fügen Sie Folgendes in die Liste der Argumente, und starten Sie Tomcat neu.
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Dann können Sie mit JConsole oder dem neueren VisualVM verbinden.
Andere Tipps
Hier ist der vorgeschriebene Weg jvmoptions zum Ändern & Interaktion mit dem Service:
http://tomcat.apache.org/tomcat -5,5-doc / windows-service-HOWTO.html
Ich würde versuchen, in Ihrer Registrierung unter HKLM / Software / Apache Software Foundation / Procrun 2.0 // Parameter / Java und die Bearbeitung der "Optionen" Multi-String-Wert direkt gehen.
Ich poste es in erster Linie um diese Informationen zu mir aufzunehmen, ich habe es nicht überprüft - aber das soll auch arbeiten:
http://mysqlandsqlserver.blogspot.com /2010/02/jconsolejmap-and-tomcat-as-windows.html
Es gibt immer noch eine ziemlich einfache Art und Weise JConsole zu verbinden, um Java-Prozess als Windows-Dienst gestartet den lokalen Modus, die ich hier .
Im Grunde heißt es, dass, um Java-Prozess als Windows-Dienst gestartet verbinden Sie benötigen JConsole als Windows-Dienst starten (Sie es tun können native Windows-api oder unter Verwendung eines beliebigen Wrapper wie yajsw .)
übrigens, dies Sie frei von dem Java-Prozess neu zu starten, die für mich entscheidend war.
Wenn Tomcat als Windows-Dienst ausgeführt wird, und Sie möchten lokal auf die JVM befestigen, müssen Sie VisualVM oder JConsole als Systemkonto ausgeführt. Sie können verwenden Sysinternals psexec.exe dies zu erreichen.
psexec.exe -i -s c:\visualvm\bin\visualvm.exe
Fügen Sie die folgende in der Nähe der Spitze Ihres catalina.bat
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote ^
-Dcom.sun.management.jmxremote.port=8086 ^
-Dcom.sun.management.jmxremote.ssl=false ^
-Dcom.sun.management.jmxremote.authenticate=false
Stoppen und starten Sie tomcat (natürlich)
Ausführen jconsole.exe. Wenn Ihr Kater als Dienst ausgeführt wird, dann läuft jconsole.exe als Administrator an.
Remote Process Wählen Sie und geben Sie localhost: 8086