我在尝试配置服务器以提供远程JMX访问时感到痛苦的下午。我发现连接到JMX服务器的最简单的工具是jconsole,但在尝试重复访问多个URL时,它似乎并不是一个好工具。有没有简单的方法来自动测试远程JMX 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();
如果你觉得JConsole很痛苦,我认为其他的选择是编写一个简单的类并在需要测试新的时候更改url。 – kosa