我正在开发一个应用程序,其中我有jms消息队列。
有一个生产者,它将消息排入队列,消费者将消息出列。
可能存在消费者未运行的情况。如果消费者在一定时间内没有消费消息,我需要从生产者中捕获该消息。
我想使用JMX监视消息队列的消息是否已过期。
任何建议或示例代码如何......
答案 0 :(得分:0)
这取决于JMX实现者......一些服务器提供JMX实现来监视其资源。如果没有提供,那么您将需要编写使用MQ实现者提供的API的JMX实现。
解决此问题的一种更简单的方法是使用带有到期的请求 - 响应模式。消费者需要在指定的内部时间做出响应。如果不能,则队列中的消息可能会过期。如果没有收到回复,生产者可以采取进一步行动。具有相关ID的JMS选择器可用于将响应与请求相关联。