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"
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
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-management-enabled>true</jmx-management-enabled>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果启用了 JMX,可使用
jconsole在本地管理代理。注意出于安全原因,不启用与 JMX 的远程连接。
如果要从同一
MBeanServer管理多个代理,请为每个代理配置 JMX 域。默认情况下,代理使用 JMX 域
org.apache.activemq.artemis。<jmx-domain>my.org.apache.activemq</jmx-domain>
<jmx-domain>my.org.apache.activemq</jmx-domain>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您在 Windows 系统上使用 AMQ Broker,则必须在 artemis 或
中设置系统属性。shell 脚本位于artemis.cmd<install-dir>/bin下。
其他资源
- 有关为远程管理配置代理的更多信息,请参阅 Oracle 的 Java 管理指南。