【发布时间】:2015-01-28 21:32:12
【问题描述】:
Activemq 中的独占消费者是从代理发送每条消息直到消费者死亡或消失,此时代理切换消费者。
是什么定义了切换发生的时间?在 Spring JMS/ActiveMQ 中如何配置?
【问题讨论】:
标签: spring grails jms activemq spring-jms
Activemq 中的独占消费者是从代理发送每条消息直到消费者死亡或消失,此时代理切换消费者。
是什么定义了切换发生的时间?在 Spring JMS/ActiveMQ 中如何配置?
【问题讨论】:
标签: spring grails jms activemq spring-jms
不是 Spring JMS 进行检查;它是 JMS 提供者 ActiveMQ。
JMS 是一个 API 规范;本质上是一个空的框架。 ActiveMQ 为管理连接、消息代理、负载平衡、故障转移等提供实现支持。
ActiveMQ 代理根据队列属性处理切换消费者(您无需在代码中执行任何特殊操作):
queue = new ActiveMQQueue("TEST.QUEUE?consumer.exclusive=true");
【讨论】:
当消费者正常断开连接或代理确定消费者已消失(通过wireFormat.maxInactivityDuration 过去而没有收到任何消息或保持活动状态)时,就会发生切换。如果您对wireFormat.maxInactivityDuration(30 秒)的默认值感到满意,则无需进行任何配置,但如果您想更改代理放弃客户端之前需要多长时间,您可以进行调整。
【讨论】: