java - 如何检测 JMX 代理是否正在运行,以及使用哪个端口?

标签 java jmx

如果在 JVM 启动时定义了 Java 系统属性 com.sun.management.jmxremote,则 JMX 代理将在系统属性 com.sun.management 中定义的端口上启动。 jmxremote.port.

但是,也有一些技术可以在运行时启动 JMX 代理/监听器。 (参见:Monitoring and Management Using JMX Technology,部分:使用 JMX 远程 API 模拟开箱即用的管理)

是否有可靠的方法来检测 JMX 代理是否正在运行,我能否在运行时找到端口?

相关:如果运行时代码在不同的端口上启动两个 JMX 代理会发生什么情况?

我为什么要问?如果尚未启动,我想在临时端口上自动神奇地启动 JMX 代理。

最佳答案

无法发现我找到的 jmx 连接器服务器。 但是,如果您确实启动了两个 jmx 连接器,那么您将有两个端口,您可以通过它们访问 PlatformMBeanServer。这不应该造成任何伤害。

关于java - 如何检测 JMX 代理是否正在运行,以及使用哪个端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33736177/

相关文章:

linux - 如何在 linux 中使用 perl 从显示的输出中提取数字

java - 我如何在用java开发的rest web服务中返回json

java - 为什么请求范围的 bean 不是从表单值创建的?

java - netty中的channelActive和channelRead有什么区别?

java - 使用 Zabbix 监控同一台机器上的两个 Java 进程

tomcat - 使用 Jython 提取针对 JMX 中的域注册的 MBean 列表

java - 将android TCP客户端连接到java TCP服务器时出现异常

java - GUI 中的线程 (Swing) - 应用程序解冻

java - 冒充 'jconsole'

java - JConsole 未被识别为命令