JMX服务url无法连接远程jvm

时间:2012-12-21 08:38:50

标签: java jmx mbeans

我用JMX编写了JVM监视。我将MBean服务器连接与以下URL连接

     service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi

它使用 localhost 工作,但我想连接其他机器JVM,我也使用了它;

      service:jmx:rmi:///jndi/rmi://OTHER_SERVER_PORT:9999/jmxrmi

它不起作用。我对此进行了调查,并且一些示例告诉您将以下JVM选项添加到目标计算机JVM。

   -Dcom.sun.management.jmxremote
   -Dcom.sun.management.jmxremote.port=9999
   -Dcom.sun.management.jmxremote.authenticate=false
   -Dcom.sun.management.jmxremote.ssl=false

那么在哪里添加上面的JVM选项呢?以及如何使用JMX服务URL连接其他机器JVM?这是我的示例类

   public class JMXRemote {
      public static void main(String[] args) throws Exception {
          JMXServiceURL url = new JMXServiceURL(
            "service:jmx:rmi:///jndi/rmi://OTHER_PC_PORT:9999/jmxrmi");

          JMXConnector c = JMXConnectorFactory.connect(url);
          MBeanServerConnection mbsc = c.getMBeanServerConnection();

          Object o = mbsc.getAttribute(new ObjectName("java.lang:type=Memory"),
            "HeapMemoryUsage");
          CompositeData cd = (CompositeData) o;
          System.out.println(cd.get("committed"));
      }
  }

0 个答案:

没有答案