如何在服务器中找到JMX端口?

时间:2011-09-23 15:12:00

标签: java jboss jmx

如果我能看到JAVA OPTS参数,我相信我能搞清楚。我想使用Jconsole监视一个hornetq服务器,所以我需要端口号。

我记得在我连接它的时候使用了一些像java grep等命令。

4 个答案:

答案 0 :(得分:29)

如果您知道进程号,可以使用netstat查找程序正在侦听的端口,例如

$ netstat -apn | grep <proc num>

JMX侦听器的传统端口是1099。

答案 1 :(得分:13)

我知道这是一个老帖子。您还可以从系统中获取详细信息:

String jmx1 = System.getProperty("com.sun.management.jmxremote");
String jmx2 = System.getProperty("com.sun.management.jmxremote.port");
String jmx3 = System.getProperty("com.sun.management.jmxremote.authenticate");
String jmx4 = System.getProperty("com.sun.management.jmxremote.ssl");
String jmx5 = System.getProperty("java.rmi.server.hostname");

答案 2 :(得分:4)

您也可以从JVM命令行设置手动设置端口,例如:

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=1616
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

答案 3 :(得分:2)

你可以programmatically access the JVM arguments like so

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...       
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();