найдите что-то, что erlang не имеет этим, Вы понимаете и как. Я сделал это с etap https://github.com/ngerakines/etap / Теперь, зарубка приняла управление, и это используется внутренне в играх EA. Это была забава сделать, и как предыдущий плакат это было что-то реальное, таким образом, я учился служить проблемам реального мира, работающим над ним.
Если ваше приложение работает на JDK 1.6 , то вы сможете подключить его. Если он использует JDK до 1.6 , запустите его, указав следующий аргумент JVM
-Dcom.sun.management.jmxremote
Если вы запустите jconsole -debug
, это даст вам больше диагностической информации о сбое. См. запись в блоге Дэниела Фукса «Устранение неполадок с подключением в JConsole» .
Я сделал это, и это показало мне, что я использую 32-битную jconsole, целевой процесс был запущен с другой (64-битной) jvm, так что, очевидно, это не разрешено, и, таким образом, происходит сбой.
Если вы обращаетесь к машине за брандмауэром, вам нужно открыть порты JMX и RMI.
В этом контексте вам гораздо лучше форсировать значение RMI, чем полагаться на автоматически назначенное значение
В моем случае я пытался получить доступ к Tomcat, поэтому мне пришлось сделать следующее:
#!/bin/sh
CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8008 -Dcom.sun.management.jmxremote.rmi.port=8007 -Dcom.sun.
management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
, а затем
firewall-cmd --zone=public --add-port=8008/tcp --permanent
firewall-cmd --zone=public --add-port=8007/tcp --permanent
firewall-cmd --reload