java - ActiveMQ 消息代理上的消息过期
问题描述
我正在开发一个应用程序,它要求我跟踪 ActiveMQ 主题上的消息何时过期,以及消息何时过期,因为客户端/消费者/订阅者未能及时确认消息。
我知道要找出某个主题的消息何时过期,我可以只听 ActiveMQ 咨询 ActiveMQ.Advisory.Expired.Topic。但是,我还需要跟踪哪些消费者/客户端正在过期的消息数量最多,这意味着每当消息过期时我都需要他们的消费者/客户端 ID 等。是否有我可以使用的建议或方法来完成此任务?
我是 ActiveMQ 的新手,所以我对 JMS 消息传递如何工作的了解有限。我的理解是生产者设置了一个消息过期时间,如果消费者在一定时间内没有消费该消息,则该消息过期并发送到过期队列。我需要找出哪些消费者没有收到消息。
我很感激任何指导。谢谢你。
解决方案
没有办法让这个消费者与过期消息相关,因为消息可以在代理处过期而不会被分派给消费者,因此在消费者级别没有记录数据。
推荐阅读
- java - 为什么非静态类方法应该与实例一起使用?
- c# - C# 在不使用 While(true) 循环或 Thread.Sleep 的情况下保持方法执行/侦听数据?
- if-statement - 负和正和
- javascript - 如何修复我的对话框窗口不弹出角度模态
- android - Textview 内容在 android 应用程序上以黑色呈现
- python-3.x - Django addConstraints 在 Postgres 上引发 TypeError
- php - CodeIgniter 通过用户名获取用户
- javascript - youtube 嵌入式 url 设置不使视频自动播放
- android - 上网恢复后收不到数据
- python - pythonic方法来计算列表/集合中的单词出现在数据框列中的次数