我试图了解多个线程是否可以从Spring Integration Queue Channel同时/并行发送消息。 假设我有以下配置:
<int:channel id="fooChannel">
<int:queue />
</int:channel>
从文档中,我了解到通过使用队列通道生成器和消费者获得解耦,并且两者都发生在不同的线程中。
我的困惑之处在于 - 多线程是否可以处理存储在队列通道中的消息。我们经常使用JMS渠道做的事情。 (一个/多个生产者和多个消费者)
如果不可能,在队列通道中实现并发处理消息的推荐方法是什么
答案 0 :(得分:0)
QueueChannel
由java.util.Queue
支持(默认情况下为LinkedBlockingQueue
),专为多线程交互而设计。
所以,你绝对可以从不同的线程向这个频道发送消息。
另一方面,它也是如此:此通道与JMS队列完全相同:您可以拥有多个有竞争力的消费者(PollingConsumer
个端点),其中只有一个将从队列中轮询和处理消息。