ошибка jconsole при установлении соединения jrmp вложенным исключением является: java.Ио.EOFException
Я пытаюсь контролировать удаленный процесс с помощью jconsole и это была команда я использовал
jconsole -debug localhost:4080
и это трассировка стека, которую я получаю
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
java.io.EOFException
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:286)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at sun.tools.jconsole.ProxyClient.checkSslConfig(ProxyClient.java:217)
at sun.tools.jconsole.ProxyClient.<init>(ProxyClient.java:110)
at sun.tools.jconsole.ProxyClient.getProxyClient(ProxyClient.java:463)
at sun.tools.jconsole.JConsole.run(JConsole.java:510)
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:250)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:228)
он может успешно подключаться, если я поставляю pid процесса в jconsole.
1 ответов
мы должны настроить tomcat, чтобы разрешить удаленному процессу подключаться к нему для мониторинга
по сути, добавил,
CATALINA_OPTS="-Djava.awt.headless=true -Xmx128M -server -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
это скажет tomcat, что он будет контролироваться из (скажем) jconsole через порт 7091 удаленно.
затем начал jconsole с
jconsole localhost:7091
теперь jconsole успешно подключается.