원격 글래스 피쉬 서버를 모니터링하고 싶습니다. domain.xml에서 JMX Connection을 활성화했습니다.jconsole을 사용하여 원격 Glassfish 서버에서 JMX를 활성화하여 액세스하는 방법은 무엇입니까?
<jmx-connector accept-all="true" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false">
그러나 이것은 도움이되지 않았습니다. 여전히 JConsole을 사용하여 서버에 연결할 수 없습니다. 그런 다음 솔루션을 찾았습니다. 원격 연결을 위해 8686 포트를 열려면 domain.xml에 JVM 속성을 지정해야합니다.
<jvm-options>-Dcom.sun.management.jmxremote</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.port=8686</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.local.only=false</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.authenticate=false</jvm-options>
하지만 서버를 시작있을 때 지금, 내가 갖는 다음과 같은 오류 : 그래서 내가 자바 설정에 부분이 라인을 추가 "LogManager의
는로드 할 수 없습니다를 COM .sun.enterprise.server.logging.ServerLogManager " java.lang.ClassNotFoundException가 : 자바에서 이는 java.net.URLClassLoader $의 1.run에서 com.sun.enterprise.server.logging.ServerLogManager (URLClassLoader.java:200) .security.Ac sun.misc.Launcher $ AppClassLoader에서 java.lang.ClassLoader.loadClass (ClassLoader.java:307) 에서 java.net.URLClassLoader.findClass (URLClassLoader.java:188) 에서 (기본 방법) cessController.doPrivileged. loadClass (Launcher.java:301) at java.lang.ClassLoader.loadClass (ClassLoader.java:252) at java.util.logging.LogManager $ 1.run (LogManager.java:166) at java.security.AccessController .doPrivileged (기본 방법) java.util.logging.LogManager에서 . (LogManager.java:156) sun.management.snmp에서 java.util.logging.Logger.getLogger (Logger.java:273) 에서 . util.MibLogger (MibLogger.java:57) at sun.management.snmp.u (ConnectorBootstrap.java:760) at sun.management.Agent.startAgent (Agent.java:127) at sun.management. Agent.startAgent (Agent.java:239) javax.management.JMRuntimeException : java.lang.ClassNotFoundException가 : 닷컴 는 MBeanServerBuilder에 클래스 com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder을로드하지 못했습니다 .sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder at javax.management.MBeanServerFactory.checkMBeanServerBuilder (MBeanServerFactory.java:480) at javax.management.MBeanServerFactory.getNewMBeanServerBuilder (MBeanServerFactory. 자바 : javax.management.MBeanServerFactory.createMBeanServer (MBeanServerFactory.java에서 javax.management.MBeanServerFactory.createMBeanServer (MBeanServerFactory.java:213) 에서 javax.management.MBeanServerFactory.newMBeanServer (MBeanServerFactory.java:298) 에서 511) : sun.management.jmxremote.ConnectorBootstrap.initialize에서 java.lang.management.ManagementFactory.getPlatformMBeanServer (ManagementFactory.java:504) 에서 sun.management.ManagementFactory.createPlatformMBeanServer (ManagementFactory.java:302) (ConnectorBootstrap에서 174) . java : 392) at sun.management.Agent.startAgent (Agent.java:127) at sun.management.Agent.startAgent (Agent.java:239) 원인 : java.lang.ClassN otFoundException : com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder at java.net.URLClassLoader $ 1.run (URLClassLoader.java:200) at java.security.AccessController.sun.misc.Launcher $ AppClassLoader.loadClass에서 doPrivileged의 (기본 방법) java.net.URLClassLoader.findClass (URLClassLoader.java:188)에서 java.lang.ClassLoader.loadClass (ClassLoader.java:307)에서 (Launcher.java:301) javax.management.MBeanServerFactory.checkMBeanServerBuilder에서 javax.management.MBeanServerFactory.loadBuilderClass (MBeanServerFactory.java:423) 에서 java.lang.ClassLoader.loadClass (ClassLoader.java:252) 에서 (MBeanServerFactory는. java : 465) ... 9 더 많은 에이전트에 의해 예외가 발생했습니다. javax.management.JMRuntimeException : MBeanServerBuilder를로드하지 못했습니다. 클래스 com.sun.enterprise.admin.server.core .jmx.AppServerMBeanServerBuilder : java.lang.ClassNotFoundException가 : com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder
은 어떻게 문제를 해결할 수
?미리 감사드립니다.
을 사용하고 있습니다. 첫 번째 단계는 JVM 옵션에서 모든 com.sun.management.jmxremote 설정을 제거하는 것입니까? – tronda
즉석에서 사용하던 것과 동일하게 유지한다는 의미입니다. JMX 설정이 존재하는 경우 - JMX 설정을 추가하지 마십시오. – Pavel