package com.haogrgr.test.jmx; import javax.management.JMX; import javax.management.MBeanServerConnection; import javax.management.ObjectName; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; public class Client { public static void main(String[] args) throws Exception { // 下面三行等价, 端口9998指JMX_RMI_SERVER_PORT 端口9999指RMI_REGISTRY_PORT // JMXServiceURL url = new JMXServiceURL("rmi", "localhost", 9998, "/jndi/rmi://localhost:9999/jmxrmi"); // JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://localhost:9998/jndi/rmi://:9999/jmxrmi"); // JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://localhost:9998/jndi/rmi://localhost:9999/jmxrmi"); JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:9999/jmxrmi"); JMXConnector jmxc = JMXConnectorFactory.connect(url, null); MBeanServerConnection mbcs = jmxc.getMBeanServerConnection(); ObjectName name = new ObjectName("com.haogrgr.test.jmx:key=value"); HelloServiceImplMBean proxy = JMX.newMBeanProxy(mbcs, name, HelloServiceImplMBean.class); System.out.println(proxy.sayHello("haogrgr")); } }