Все примеры, которые я вижу, относятся к приложениям Java SE путем передачи вашего JAR-файла в командной строке. Можно ли подключить JConsole к WAR или EAR и отслеживать производительность приложения?
Можно ли использовать jconsole с Java EE?
Ответы (3)
JConsole предназначен для мониторинга JVM. Я предполагаю, что вы хотели бы отслеживать производительность вашего сервера приложений. Для этого вам нужно будет установить свойство com.sun.management.jmxremote при инициализации вашего сервера приложений.
Например, в Tomcat (я знаю, что это не полный контейнер Java EE) вы должны запустить контейнер как:
>startup.bat -Dcom.sun.management.jmxremote
Затем вы можете запустить JConsole как отдельное приложение.
>jconsole
а затем подключите jconsole к процессу Java, на котором работает Tomcat. Аналогичные шаги применимы и к другим серверам приложений.
Если вы используете Tomcat, попробуйте лямбда-зонд. Это военный файл, который после установки на tomcat включает веб-приложение с такими же возможностями мониторинга, как jconsole.
В сети лямбда-зонда также есть загрузка JBoss, но я тестировал только на tomcat.
Как уже упоминалось, jconsole отслеживает JVM, то есть весь экземпляр сервера приложений, а не конкретное веб-приложение, развернутое как война или ухо.
Если вам нужен более детальный мониторинг производительности веб-приложений, попробуйте воспользоваться такими инструментами, как JAMon.