【发布时间】:2014-03-25 21:53:55
【问题描述】:
我正在阅读 DefaultMessageListenerContainer 上的 spring 文档
它说“注意:不要将 Spring 的 CachingConnectionFactory 与动态缩放结合使用。理想情况下,根本不要将它与消息侦听器容器一起使用,因为通常最好让侦听器容器本身在其中处理适当的缓存“
谁能解释为什么?
【问题讨论】:
标签: jms spring-jms
我正在阅读 DefaultMessageListenerContainer 上的 spring 文档
它说“注意:不要将 Spring 的 CachingConnectionFactory 与动态缩放结合使用。理想情况下,根本不要将它与消息侦听器容器一起使用,因为通常最好让侦听器容器本身在其中处理适当的缓存“
谁能解释为什么?
【问题讨论】:
标签: jms spring-jms
cacheConsumers = true(默认)的时候。当使用动态缩放并且监听器停止时,会话将返回到缓存中,但代理不知道没有人会真正从该会话中消费,因此您会遇到位于缓存中的消息,直到这些消息才会被读取当音量增加时,该会话恰好被重用。注意:如果您希望在容器线程上运行的 JmsTemplate 参与容器事务,您应该使用 CachingConnectionFactory 以便可以缓存生产者,但您应该禁用缓存如果您有可变并发,工厂中的消费者。
【讨论】: