这个脚本的好处就是提供了一个工具远程测试JMX暴露的方法。我是小順,请大家关注我,我会给大家发更多的工具。
import java.io.IOException;
import java.net.MalformedURLException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
public class testJmx {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://1.1.1.1:8181/server");
JMXConnector jmxc = JMXConnectorFactory.connect(url,null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
ObjectName MonitorInfo = new ObjectName("JMX:name=JMXAgent, type=JMX");
//返回值类型 返回值变量 = (强转<可选>)mbsc.invoke(MonitorInfo, "方法名", new Object[] {参数列表}, new String[] { 参数名类型 });
String status = (String)mbsc.invoke(MonitorInfo, "splicingStr", new Object[] { "a","b" }, new String[] { String.class.getName(),String.class.getName() });
} catch (MalformedObjectNameException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstanceNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MBeanException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ReflectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}