试图配置服务器以提供远程 JMX 访问时,我度过了一个痛苦的下午。我发现连接到 JMX 服务器的最简单的工具是 jconsole,但在尝试重复访问多个 URL 时它似乎不是一个很好的工具。
是否有一种简单的方法(最好是从命令行)来检查特定 URL 是否指向有效的 JMX 服务器?例如
jmxTest service:jmx:rmi://192.168.0.101:1099/jndi/rmi://192.168.0.101:1099/jmxrmi
工作服务器返回状态 0,非工作服务器返回状态 1
编辑
我尝试了以下方法,但即使 JMX URL 的前半部分指向一个不存在的 IP,它似乎也能正常工作:
JMXServiceURL url = new JMXServiceURL(urlAsString);
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
mbsc.getDomains();
最佳答案
支持jmx访问的工具有很多。您可以编写简单的主类,使其接受参数或配置文件,它可以为您进行检查。
或者您可以使用更适合的工具,例如 JMeter .看看那个: http://wiki.apache.org/jmeter/JmxTestPlan
它还有一个图形用户界面,因此您不会对 xml 感到厌烦。
关于java - 有自动测试远程 JMX URL 的简单方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17490746/