Spring JMS ActiveMQ使用什么来确定代理何时应该切换独占消费者



Activemq中的独占消费者是从代理发送每条消息的消费者,直到消费者死亡或离开,此时代理切换消费者。

是什么定义了何时进行切换?如何在Spring JMS/ActiveMQ中配置它?

不是Spring JMS在做检查,而是JMS提供者ActiveMQ。

JMS是一个API规范;本质上是一个空的框架。ActiveMQ为管理连接,消息代理,负载平衡,故障转移等提供了实现支持。

ActiveMQ 代理根据队列属性处理切换使用者(您不需要在代码中执行任何特殊操作):

queue = new ActiveMQQueue("TEST.QUEUE?consumer.exclusive=true");

当使用者正常断开连接或代理确定使用者已消失(通过wireFormat.maxInactivityDuration过期而未收到任何消息或保持活动状态)时,将发生切换。 如果您对默认值 wireFormat.maxInactivityDuration(30 秒)感到满意,则无需配置任何内容,但如果您想更改代理放弃客户端所需的时间,您可以对其进行调整。

最新更新