5.2. 使用 JMX 管理 AMQ Broker
您可以使用 Java 管理扩展(JMX)来管理代理。管理 API 由代理使用 MBeans 接口公开。代理将其资源注册到域 org.apache.activemq
。
例如,管理名为 exampleQueue
的队列的 ObjectName
是:
org.apache.activemq.artemis:broker="__BROKER_NAME__",component=addresses,address="exampleQueue",subcomponent=queues,routingtype="anycast",queue="exampleQueue"
MBean 是:
org.apache.activemq.artemis.api.management.QueueControl
MBean 的 ObjectName
使用 helper 类 org.apache.activemq.api.core.management.ObjectNameBuilder 来构建
。您还可以使用 jconsole 查找您要管理的 MBeans 的 ObjectName
。
使用 JMX 管理代理与使用 JMX 管理任何 Java 应用程序是一样的。它可以通过反映或创建 MBeans 的代理来实现。
5.2.1. 配置 JMX 管理
默认情况下,启用 JMX 来管理代理。您可以通过在 broker.xml
配置文件中设置 jmx-management-enabled
属性来启用或禁用 JMX 管理。
步骤
-
打开
<broker-instance-dir>/etc/broker.xml
配置文件。 设置启用了
<jmx-management-enabled>
。<jmx-management-enabled>true</jmx-management-enabled>
如果启用了 JMX,可使用
jconsole
在本地管理代理。注意出于安全原因,不启用与 JMX 的远程连接。
如果要从同一
MBeanServer
管理多个代理,请为每个代理配置 JMX 域。默认情况下,代理使用 JMX 域
org.apache.activemq.artemis
。<jmx-domain>my.org.apache.activemq</jmx-domain>
注意如果您在 Windows 系统上使用 AMQ Broker,则必须在 artemis 或
artemis
.cmd<install-dir>/bin
下。
其他资源
- 有关为远程管理配置代理的更多信息,请参阅 Oracle 的 Java 管理指南。