我可以通过 JMX 使用以下 URL 服务连接 Glassfish AS 3.1:jmx:rmi:///jndi/rmi://localhost:8686/jmxrmi
但是我无法通过 AMX 连接它。这是我正在使用的 API
amx-api-10.0-SNAPSHOT
我在其源代码中意识到 url 的定义与以下不同。它在 AppserverConnectionSource.java 类中定义
private static final String APPSERVER_JNDI_NAME = "/management/rmi-jmx-connector";
当我尝试连接 AS AMX 接口时,出现以下错误。
使用 JMXServiceURL 连接:service:jmx:rmi:///jndi/rmi://127.0.0.1:8686/management/rmi-jmx-connector java.io.IOException:无法检索 RMIServer 存根:javax.naming.NameNotFoundException: management/rmi-jmx-connector at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:338) at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248) at com.sun.appserv。 management.client.AppserverConnectionSource.createNew(AppserverConnectionSource.java:412) 在 com.sun.appserv.management.client.AppserverConnectionSource.getJMXConnector(AppserverConnectionSource.java:481) 在 com.sun.appserv.management.client.AppserverConnectionSource.getMBeanServerConnection( AppserverConnectionSource.java:513) 在 com.sun.appserv.management.client.ProxyFactory.getInstance(ProxyFactory.java:399) 在 com.sun.appserv.management.client.ProxyFactory.getInstance(ProxyFactory.java:373) 在 com.sun.appserv.management.client.AppserverConnectionSource.getDomainRoot(AppserverConnectionSource.java:528)