Как вы включаете удаленное взаимодействие JMX или настраиваемые аргументы Java с Railo?

Где вы можете отредактировать аргументы Java в Railo, чтобы настроить удаленное взаимодействие JMX, чтобы я мог отслеживать JVM с помощью jVisualVM или других инструментов мониторинга Java?

В свойствах Apache Tomcat Railo на вкладке Java я попытался добавить следующие аргументы:

-Dcom.sun.management.jmxremote.port=8701
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

Когда я загружаю службу Railo, я получаю сообщение об ошибке в моем Railo-stderr.log, в котором говорится:

2013-06-07 17:55:07 Commons Daemon procrun stderr initialized
Error: Invalid com.sun.management.jmxremote.port number: 8702 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

Любые идеи о том, что я делаю неправильно? Я могу успешно использовать точно такой же набор аргументов с моим CF9, за исключением того, что я использую порт 8701 для CF. Возможно, мне нужно загрузить мой Railo по-другому?

Что касается окружающей среды. Я использую Railo 4.0.4.001 с Tomcat и адаптером IIS BonCode. У меня также есть копия CF9, работающая на моей машине.


person Nucleon    schedule 08.06.2013    source источник
comment
Я могу быть не в том направлении (и у меня нет под рукой моего ПК), но я недавно настроил удаленный JMX или отладку на Railo/Tomcat, и вы редактируете в нужном месте, но текстовая область аргументов java очень придирчива о наличии или отсутствии новых строк в том, что вы вводите. однако он настроен на вашем сервере неправильно, так как JVM сообщает вам, что все, начиная с номера порта и далее/вниз, передается как одна строка.   -  person barnyr    schedule 08.06.2013
comment
Знаете ли вы, должны ли быть предустановлены новые строки или нет? Я полагаю, нет? Если да, то завтра попробую, посмотрим, что получится.   -  person Nucleon    schedule 10.06.2013
comment
Я снова на правильной машине сейчас. Он использует новые строки между каждой записью, без пробелов в конце или начале каждой строки. Значения также можно получить в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options (в 64-разрядной версии Windows) или HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\ Tomcat7\Parameters\Java\Options (на 32-разрядной версии)   -  person barnyr    schedule 11.06.2013
comment
Да, это так. Каждый аргумент в отдельной строке и без пробелов в конце. Если вы добавите это в качестве ответа, я отмечу это правильно.   -  person Nucleon    schedule 12.06.2013
comment
Рад, что это работает. Я добавил комментарий в качестве правильного ответа сейчас   -  person barnyr    schedule 12.06.2013


Ответы (1)


Tomcat использует демон Apache Commons ProcRun для запуска в качестве службы Windows.

При редактировании параметров Java через графический интерфейс (обычно путем запуска [tomcat]\bin\Tomcat7w.exe) каждый параметр командной строки должен находиться в отдельной строке без начальных или конечных пробелов. Из-за размера текстовой области, которая вам предоставляется для редактирования параметров Java, легко вставить несколько параметров и не заметить, что каждый параметр не разделен символами новой строки. Я делал это несколько раз.

В вашем случае подсказка заключается в том, что ошибка Java показывает свойство, которое должно быть портом и на самом деле является портом, а также другие параметры. Тип поведения при ошибке, который вы получите, будет полностью зависеть от проверки, присутствующей в первой опции в данной строке.

Снимок экрана диалогового окна параметров Java

Помимо редактирования параметров в диалоговом окне, вы также можете получить к ним доступ в реестре в следующих местах:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options (в 64-битной Windows) или

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options (на 32-разрядной версии)

person barnyr    schedule 12.06.2013