我正在寻找Artemis的建议消息,就像它们存在于ActiveMQ x.5中一样。我使用的是核心协议,因为我使用的是核心JMS客户端。
例如,我真正想要的是当一个队列在10分钟内不再有消费者时得到通知。
我只找到了Apache 5.xJMS客户端启用/禁用这些主题的内容,但这不会更改管理控制台中的任何内容。我应该看不到什么吗?
有人能解释一下它是如何在这里工作的吗?
发布于 2020-05-05 22:40:25
ActiveMQ Artemis不支持ActiveMQ 5.x样式的咨询目的地和消息。但是,由于您使用的是核心协议,这些协议不会对您有所帮助,因为它们只可用于OpenWire客户端。
您可能想要使用management notifications。如果是这样的话,你应该特别注意_AMQ_NotifType头是2 (消费者创建的)和3 (消费者关闭)的通知消息。这两个消息都有一个名为_AMQ_RoutingName的header和_AMQ_ConsumerCount,前者指示消息的路由位置(即,如果使用JMS主题,则为地址;如果使用JMS队列,则为队列)。您可以使用这些通知消息来跟踪消费者,然后启动计时流程,以便在超过特定阈值时(例如,10分钟内没有消费者)采取行动。
您还可以使用metrics plugin,然后使用类似普罗米修斯的工具(使用Prometheus plugin)来管理警报,如下所示。
发布于 2020-05-04 19:48:08
默认情况下,Apache ActiveMQ Artemis为OpenWire协议启用某些ActiveMQ Advisories。创建的通知地址和队列以及用户部署的地址和队列将显示在管理控制台上。
可以在OpenWire acceptor上配置supportAdvisory参数以启用/禁用咨询,即:
<acceptor name="artemis">tcp://localhost:61616?protocols=OPENWIRE;supportAdvisory=true</acceptor>接受者的参数可通过http://localhost:8161/console/jmx/attributes?tab=artemis&nid=root-org.apache.activemq.artemis-%22<BROKER-NAME>%22-acceptors-<ACCEPTOR-NAME>的管理控制台进行检查
https://stackoverflow.com/questions/61589455
复制相似问题