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

26

如果我能看到JAVA OPTS参数,我相信我可以解决它。我想使用Jconsole监视hornetq服务器,因此需要该端口号。

我记得以前连接时使用了类似于java grep等的某些命令。

4个回答

32

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

$ netstat -apn | grep <proc num>

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


14

我知道这是一篇旧文章。你也可以从系统中获取详细信息:

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");

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

2
您可以这样以编程方式访问JVM参数
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...       
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接