简体   繁体   English

ActiveMQ Message Broker上的消息到期

[英]Message Expiration on ActiveMQ Message Broker

I'm developing an application which requires me to keep track of when a message expires on an ActiveMQ topic and when a message expires because a client/consumer/subscriber failed to acknowledge the message in time. 我正在开发一个应用程序,该应用程序需要我跟踪ActiveMQ主题上的消息何时过期,以及由于客户端/消费者/订户未能及时确认消息而导致消息何时过期。

I know that to find out when a message expires on a topic I can just listen to the ActiveMQ advisory ActiveMQ.Advisory.Expired.Topic. 我知道要找出消息在某个主题上过期的时间,我可以只听ActiveMQ咨询ActiveMQ.Advisory.Expired.Topic。 However, I also need to keep track of which consumers/clients are expiring the most amount of messages, which means I need their consumer/clientId etc whenever a message expires. 但是,我还需要跟踪哪些消费者/客户端的消息数量最多,这意味着每当消息过期时,我就需要他们的消费者/ clientId等。 Is there an advisory or methodology that I can use in order to accomplish this? 有没有可以用来实现此目标的建议或方法?

I'm new to ActiveMQ so my knowledge of how JMS messaging works is limited. 我是ActiveMQ的新手,所以我对JMS消息传递的工作方式的了解有限。 My understanding is that a producer sets a message expiry time and if the consumer does not consume the message within a certain time period then the message is expired and sent to expiration queue. 我的理解是,生产者设置消息的到期时间,如果使用者在特定时间段内未使用消息,则消息将到期并发送到到期队列。 I need to find to find out which consumers are failing to receive messages. 我需要找出哪些消费者没有收到消息。

I appreciate any guidance. 我感谢任何指导。 Thank you. 谢谢。

没有办法使此使用者与过期的消息相关,因为一条消息可以在代理处过期,而无需将其发送给使用者,因此在使用者级别没有记录任何数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM