import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.management.AttributeNotFoundException; 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 JmxDemo { public static void main(String[] args) throws MalformedObjectNameException, InstanceNotFoundException, AttributeNotFoundException, MBeanException, ReflectionException, IOException { test(); } public static void test() throws IOException, MalformedObjectNameException, InstanceNotFoundException, MBeanException, ReflectionException, AttributeNotFoundException { String user = "admin"; String pw = "activemq"; String ip = "192.168.1.230"; String port = "11099"; String[] credentials = new String[] { user, pw }; Map props = new HashMap(); props.put("jmx.remote.credentials", credentials); JMXServiceURL address = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + ip + ":" + port + "/jmxrmi"); JMXConnector connector = JMXConnectorFactory.connect(address, props); MBeanServerConnection mbsc = connector.getMBeanServerConnection(); connector.connect(); // 声明类 参数为ClassName 可以通过jconsole查看Mbean的属性 ObjectName health = new ObjectName("org.apache.activemq:type=Broker,brokerName=broker1,service=Health"); // 调用方法 List list = (List) mbsc.invoke(health, "healthList", null, null); // 获取属性 String status = (String) mbsc.getAttribute(health, "CurrentStatus"); } }
java监控activemq_Java监控activeMQ(JMX)
最新推荐文章于 2024-06-25 10:31:00 发布
本文介绍了一个使用Java连接远程JMX服务的示例程序。通过该程序可以调用远程服务上的MBean方法并获取其属性。示例中详细展示了如何建立连接、调用方法及获取属性。
571

被折叠的 条评论
为什么被折叠?



