我正在使用JMX监视我的程序。具体实现请参见此演示。我在IDEA中运行了程序。我可以在运行IDEA的Windows中使用jconsole访问JMX,但是无法在同事的Windows中访问它。我的防火墙已经关闭。我同事的Windows可以使用ping命令连接我的IP,或使用Telnet命令连接我的5555端口,但是我无法通过jconsole访问程序。我不知道为什么。
public class HelloAgent {
public static void main(String[] args) throws JMException, NullPointerException
{
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName helloName = new ObjectName("jmxBean:name=hello");
//create mbean and register mbean
server.registerMBean(new Hello(), helloName);
try
{
LocateRegistry.createRegistry(5555);
JMXServiceURL url = new JMXServiceURL
("service:jmx:rmi:///jndi/rmi://192.168.0.104:5555/jmxrmi");
JMXConnectorServer jcs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
System.out.println("begin rmi start");
jcs.start();
System.out.println("rmi start");
}
catch (RemoteException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}