首页 文章

Spring Integration Queue Channel是多线程的吗?

提问于
浏览
0

我试图了解多个线程是否可以从Spring Integration Queue Channel同时/并行地发送消息 . 假设我有以下配置:

<int:channel id="fooChannel">
   <int:queue />
 </int:channel>

从文档中,我了解到通过使用队列通道生成器和消费者获得解耦,并且两者都发生在不同的线程中 .

我的困惑之处在于 - 多线程是否可以处理存储在队列通道中的消息 . 我们经常使用JMS渠道做的事情 . (一个/多个 生产环境 者和多个消费者)

如果不可能,那么在队列通道中实现并发处理消息的推荐方法是什么

1 回答

  • 0

    QueueChanneljava.util.Queue (默认情况下为 LinkedBlockingQueue )支持,它专为多线程交互而设计 .

    所以,你绝对可以从不同的线程向这个 Channels 发送消息 . 另一方面,它也是如此:此通道与JMS队列完全相同:您可以拥有多个竞争消费者( PollingConsumer endpoints ),其中只有一个将轮询并处理来自队列的消息 .

相关问题