也许标题不是很具有描述性。
案例如下,有一个系统有一个服务器,一个生产者和 1..n 个消费者。
消息将直接发送给一个消费者或广播,以便每个消费者都收到消息。
我实际上正在考虑为每个消费者创建一个队列以进行直接通信,然后为广播消息创建另一个队列。这样,消费者应该轮询两个队列以获取消息:它自己的队列和广播队列。
实际的问题是:有没有办法在没有广播队列的情况下做到这一点(所以消费者只会轮询一个队列)?
我实际上在运行时使用转移解决了这个问题。
我不确定你在问什么。但是您不发送到队列,而是发送到地址:
在 hornetq-core 术语中:
生产者将发送到一个地址,您可以在该地址上创建一个或多个队列
在 JMS 术语中,您可以创建 JMS 队列或 JMS 主题,并且可以创建消息订阅。
还有... hornetq 上有一个关于主题层次结构的功能,您可以在其中使用通配符创建队列。也许这会帮助你实现你所需要的。
如果您为我提供更多背景信息,我可以改进这个答案。
你也可以看看Diverts。查看 HornetQ 文档了解更多详细信息。