如何不断确认JMS消费者的状态

发布于 2025-01-18 07:15:39 字数 195 浏览 0 评论 0 原文

我使用JMS API有一个Spring Boot Microservice来消费ActiveMQ队列的消息。

我当前的问题是微服务经常失去其作为消费者的订阅。我想创建一种逻辑,以不断检查消费者的状态并在丢失时应用重试策略。

是否有任何方法可以确认订阅状态为消费者或访问每个队列的消费者数量?

值得注意的是,微服务是消费者而不是生产者。

I have a Spring Boot microservice using the JMS API to consume messages from an ActiveMQ queue.

My current issue is that the microservice often loses its subscription as consumer. I'd like to create a logic to constantly check the status of the consumer and apply a retry strategy when lost.

Is there any way to confirm the status of a subscription as a consumer or to access the number of consumers per queue?

It's worth noting that the microservice serves as consumer and not a producer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嗫嚅 2025-01-25 07:15:40

如果您同时消费消息(例如, javax.jms.messageconsumer.receive() ),连接存在问题,则应抛出异常。当抛出例外时,您可以适当地实施重试策略。

如果您是异步消费的消息(即使用 )然后,您应该设置 exceptionListener javax.jms.connection 捕获任何例外,并适当实施您的重试策略。

If you're consuming the message synchronously (e.g. via javax.jms.MessageConsumer.receive()) and there is a problem with the connection then an exception should be thrown. When an exception is thrown you can implement your retry strategy as appropriate.

If you are consuming messages asynchronously (i.e. using a MessageListener) then you should set an ExceptionListener on the javax.jms.Connection to catch any exception and implement your retry strategy as appropriate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文