Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以通过编程方式启用远程jmx监视?_Java_Multiprocessing_Monitoring_Jmx - Fatal编程技术网

Java 是否可以通过编程方式启用远程jmx监视?

Java 是否可以通过编程方式启用远程jmx监视?,java,multiprocessing,monitoring,jmx,Java,Multiprocessing,Monitoring,Jmx,我需要以编程方式启动一个新的java进程,并动态设置JMX端口。 因此,与其这样做 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=9995 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 我想做以下几件事 System.setProperty("java.rmi.

我需要以编程方式启动一个新的java进程,并动态设置JMX端口。 因此,与其这样做

-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=9995 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
我想做以下几件事

System.setProperty("java.rmi.server.hostname", "127.0.0.1" );
System.setProperty("com.sun.management.jmxremote", "true" );
System.setProperty("com.sun.management.jmxremote.authenticate", "false" );
System.setProperty("com.sun.management.jmxremote.ssl", "false" );
System.setProperty("com.sun.management.jmxremote.port", "9995"  );

但它不起作用。知道为什么吗?

在调用代码时,您已经错过了配置jmxremote连接器的机会

您需要做的是创建自己的rmi注册表和JMXConnectorServer,以侦听rmi调用并将其传递给MBeanServer

private void createJmxConnectorServer() throws IOException {
    LocateRegistry.createRegistry(1234);
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:1234/jmxrmi");
    JMXConnectorServer svr = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs);
    svr.start();
}

我想这是不可能的。看这个。如果这是您的目标,您仍然可以使用远程监视JVM。我能得到一个可接受的答案吗?谢谢您提供这个片段。非常适合我。很高兴知道我帮了忙:)