首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何监控activeMQ的队列到达和消息分发时间?

如何监控activeMQ的队列到达和消息分发时间?
EN

Stack Overflow用户
提问于 2017-03-03 02:50:32
回答 2查看 625关注 0票数 0

有没有一种方法(第三方软件或编程)来监控消息到达特定队列的时间以及它被消耗的时间?

例如,消息在17:14:22 565到达,在17:14:22 598消费,或者消息被排入队列N毫秒

我读过有关Statistics plugin的文章,但它只给出了排队消息的最大和最小次数

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-03 03:25:39

您可以使用http://activemq.apache.org/advisory-message.html

下面的第一个示例在消息被传递到代理时被通知。消费消息时要通知的第二个示例。

代码语言:javascript
复制
AdvisorySupport.getMessageDeliveredAdvisoryTopic()
AdvisorySupport.getMessageConsumedAdvisoryTopic()

请参阅下面的示例,以访问消息属性,如创建时间、消息到达或离开代理时的进出时间。以下是属性http://activemq.apache.org/activemq-message-properties.html的列表

Spring JMS Producer and Consumer interaction

票数 0
EN

Stack Overflow用户

发布于 2017-03-03 10:35:44

一种方法是编写自己的插件。(http://activemq.apache.org/developing-plugins.html)

它非常简单,其效果与您更改activemq broker代码时的效果相似。

您可以扩展BrokerFilter类,并覆盖它的方法,如postProcessDispatch()、send()。然后您可以记录时间,或者在您自己的代码中记录任何您想要的时间。

我写了一个简单的例子(https://github.com/lcy362/FoxActivemqPlugin/blob/b54d375a6a91a9ec418e779deb69a8b11f7d985a/src/main/java/com/mallow/activemq/FoxBrokerPlugin.java),希望能对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42563558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档