什么时候从 Jms 中的单个会话创建多个消费者有用?
When is it useful creating multiple consumers from a single session in Jms?
我阅读了 activemq 的多个消费者文档:http://activemq.apache.org/multiple-consumers-on-a-queue.html
它说The JMS contract is that only 1 session is used by one thread at once - which if you're using consumers means that only 1 consumer can receive messages at once if using the same session.
,所以当需要有多个消费者时,我们应该总是创建多个会话。
但是 JMS 的 api 确实有从单个会话创建多个消费者的方法,而且看起来工作正常。
我想知道一个会话多个消费者的一些特殊条件是否有价值?或者这只是一个无用的功能?
这里真正的问题是并发性。如果您从单个会话创建多个消费者并且从不同时使用这些消费者,那么您就不会有问题。
我想不出针对从单个会话创建并连续使用的多个消费者的特定用例,但这并不意味着不存在合法用例。
我阅读了 activemq 的多个消费者文档:http://activemq.apache.org/multiple-consumers-on-a-queue.html
它说The JMS contract is that only 1 session is used by one thread at once - which if you're using consumers means that only 1 consumer can receive messages at once if using the same session.
,所以当需要有多个消费者时,我们应该总是创建多个会话。
但是 JMS 的 api 确实有从单个会话创建多个消费者的方法,而且看起来工作正常。
我想知道一个会话多个消费者的一些特殊条件是否有价值?或者这只是一个无用的功能?
这里真正的问题是并发性。如果您从单个会话创建多个消费者并且从不同时使用这些消费者,那么您就不会有问题。
我想不出针对从单个会话创建并连续使用的多个消费者的特定用例,但这并不意味着不存在合法用例。