我想知道 JMS 队列和 JMS 主题之间有什么区别。
Topics
In JMS a Topic implements publish and subscribe semantics. When you publish a message it goes to all the subscribers who are interested - so zero to many subscribers will receive a copy of the message. Only subscribers who had an active subscription at the time the broker receives the message will get a copy of the message.
Queues
A JMS Queue implements load balancer semantics. A single message will be received by exactly one consumer. If there are no consumers available at the time the message is sent it will be kept until a consumer is available that can process the message. If a consumer receives a message and does not acknowledge it before closing then the message will be redelivered to another consumer. A queue can have many consumers with messages load balanced across the available consumers.
我想要“某种东西”,它将按照与 ActiveMQ 代理接收消息的顺序相同的顺序向每个订阅者发送消息的副本。
有什么想法吗?
最佳答案
这意味着主题是合适的。队列意味着一条消息发送给一个且仅一个可能的订阅者。每个订阅者都有一个主题。
关于JMS 主题与队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5576415/