14、管理和监控ActiveMQ

JMX Agent:用于公开ActiveMQ mbean。变量SUNJMX持有JVM识别的JMX属性

  1. SUNJMX="-Dcom.sun.management.jmxremote"

JVM中的JMX代理由com.sun.management控制。jmxremote属性,而ActiveMQ域是由代理配置文件中的useJmx属性控制的

创建到MBean服务器的连接:

  1. JMXServiceURL url = ...
  2. JMXConnector connector = ...
  3. MBeanServerConnection connection = connector.getMBeanServerConnection();
  4. ObjectName name = new ObjectName("my-broker:BrokerName=localhost,
  5. Type=Broker");

查询代理MBean:

  1. BrokerViewMBean mbean = (BrokerViewMBean)
  2. MBeanServerInvocationHandler.newProxyInstance(connection, name,
  3. BrokerViewMBean.class, true);
  4. System.out.println("Statistics for broker " + mbean.getBrokerId() + " - " +
  5. mbean.getBrokerName());

MBean名字:

  1. <jmx domain name>:BrokerName=<name of the broker>,Type=Broker

ActiveMQ管理工具

Bin/activemq:启动代理

Bin/activemq-admin:从命令行监控代理状态

命令代理:允许您使用纯JMS消息向代理发出管理命令。

JConsole:客户端应用程序,允许您浏览和调用公开的mbean的方法。

Web Console: http://localhost:8161/admin

代理日志:cf. Data/activemq.log