【问题标题】:Spring/JMS listen to many destinations with one threadSpring/JMS 用一个线程监听多个目的地
【发布时间】:2011-07-29 10:37:35
【问题描述】:

我有一个 spring/JMS 繁重的应用程序,其中我有多个侦听器容器,每个容器都侦听不同的主题或队列。我想减少用于接收消息的线程数,以及用于处理某些队列/主题组的消息的线程数。

有什么方法可以在不使用消息选择器的情况下做到这一点?我看到spring的DefaultMessageListenerContainer有办法提供任务执行器。然而,doc 声称

'一个普通的线程池不会增加太多 值,因为此侦听器容器将 为其占用多个线程 终生”

我并不真正需要 JMS 事务,或者我什至不关心我是否收到多条消息。有什么办法可以做到吗?

【问题讨论】:

  • 您使用的是哪个 JMS 实现?
  • 我正在使用 ActiveMQ 5.4.0 和 spring 3.0.5.RELEASE

标签: multithreading spring jms


【解决方案1】:

查看 activemq 虚拟目的地。它们允许您通过单个接收器多路复用多个目的地。

http://activemq.apache.org/virtual-destinations.html

【讨论】:

  • 哇,太棒了。这篇文章特别令人愉悦,因为它证实了对持久主题的很多挫败感。
猜你喜欢
  • 2013-11-05
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2021-12-05
  • 2013-06-17
  • 2017-09-09
相关资源
最近更新 更多