首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以使用STOMP将消息发送到多个队列?

是否可以使用STOMP将消息发送到多个队列?
EN

Stack Overflow用户
提问于 2012-04-04 18:47:51
回答 3查看 3.6K关注 0票数 1

我正在寻找一个PHP项目中的RabbitMQ替代品。到目前为止,我正在考虑的两个选择是Kestrel和Qpid (如果我们决定坚持使用AMQP (我希望避免使用AMQP))。在RabbitMQ中,您可以将消息发送到交换(目的地),交换(目的地)决定消息应该发送到哪些队列或主题(在JMS术语中)。阻止我选择STOMP服务器(ActiveMQ/Apollo或HornetQ)的原因是,我无法确定在STOMP中是否可以将消息发送到目的地,以便将消息传递到多个队列(在JMS术语中)?发送者不应该知道消息应该传递到哪个队列。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-04 22:53:51

您可以在ActiveMQ中使用名为Composite Destinations的东西通过Stomp或标准的JMS客户端来完成此任务。Stomp目的地的前缀是/queue/字符串,然后是目的地的名称。您还可以在ActiveMQ中使用Virtual Destinations。当然,ActiveMQ中的目标字符串可以支持wildcards

票数 1
EN

Stack Overflow用户

发布于 2012-04-05 22:37:55

在HornetQ中,您可以使用Diverts (独占和非独占)。STOMP消息将到达原始队列,但随后将透明地转移到hornetq-configuration.xml ation.xml中配置的适当队列。

您还可以应用带有转移的筛选器,以便将消息隔离到适当的队列中。

票数 1
EN

Stack Overflow用户

发布于 2018-06-09 05:58:39

我自己也遇到了同样的问题,并在ActiveMQ中用下面的配置解决了这个问题。

代码语言:javascript
复制
<destinationInterceptors>
 <virtualDestinationInterceptor> 
  <virtualDestinations> 
   <compositeQueue name="MY.QUEUE">
    <forwardTo>
     <queue physicalName="FOO" /> 
     <queue physicalName="BAR" />
    </forwardTo>
   </compositeQueue>
  </virtualDestinations>
 </virtualDestinationInterceptor>
</destinationInterceptors> 

参考http://activemq.apache.org/virtual-destinations.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10009581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档