Kat*_* A. 9 java monitoring jmx multiprocessing
我需要以编程方式启动一个新的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
Run Code Online (Sandbox Code Playgroud)
我想做以下几点
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" );
Run Code Online (Sandbox Code Playgroud)
但它不起作用.知道为什么吗?
Aut*_*ike 15
在调用代码时,您错过了配置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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |