JMX 支持
此页面描述了 JMX 管理需求。
必需的 MBean
代理 MBean
我们需要 activemq.broker 包中核心代理类型的 MBean,以便人们查看代理的配置、其连接器、当前连接的客户端和断开连接的客户端等。
例如,MBean 用于
MBean | 描述 |
---|---|
Broker/BrokerContainer | 消息代理本身 |
BrokerConnector | 监听新客户端连接的入站连接器 |
BrokerClient | 特定客户端连接 |
我们有一个旧的 BrokerAdmin 接口,我们应该尽快用合适的 MBean 替换它。
此外,我们需要访问代理内的 MessageContainer 实例。这些是每个目标和 QoS 的一个容器(例如,一个用于持久队列 Foo,一个用于非持久队列 Foo)。
因此,我们需要某种方法来查看和查找这些 MC MBean,因为它们是用户开始使用不同的目标时动态创建的。
统计
我们实现了 J2EE 管理统计,它为每个 JMS 资源添加统计信息;连接、会话、消费者、生产者(并且我们还添加了对目标的支持)。因此,我们需要以某种方式在 JMX 中公开这些统计信息,以便用户可以监控/查看 JMS 客户端的统计信息。
用例
以下是我们需要轻松支持的最终用户用例列表…
- 浏览客户端侧连接/会话/生产者/消费者的吞吐量
- 浏览每个代理/目标/客户端的代理吞吐量
- 查看队列/主题的状态(待处理消息),以检查是否有任何东西填满了
- 清空队列
- 从死信队列中重播消息
- 使用消息 ID 删除队列/主题上的消息
- 断开代理上的客户端连接;停止代理连接(以停止新的入站连接等)
- 停止代理
以下内容更令人满意,但会很好
- 查看队列/主题的内容
- 启动/停止远程代理
问题
- 我们是否需要/想要一个 MBean 作为每个 JMS 连接/会话/生产者/消费者?我不确定为什么,除了获取统计信息的一种方式;如果是这样,也许是某种统计 MBean 而不是?