首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring-集成/ ActiveMQ订阅单个线程中的多个目的地

Spring-集成/ ActiveMQ订阅单个线程中的多个目的地
EN

Stack Overflow用户
提问于 2015-05-21 06:16:59
回答 1查看 330关注 0票数 2

我使用多个<si:service-activator><jms:message-driven-channel-adapter>订阅多个队列和主题。来自每个目的地的消息在一个单独的线程中接收,这意味着我的接收代码中满是锁,以保护可变的内部状态。

我希望我的接收代码是无锁的。是否可以将spring-integration/activemq配置为从同一个线程上的多个目的地接收?

如果这是不可能的,我可以想到两种选择:

  1. 启动我自己的处理线程,从阻塞队列中读取,将接收到的所有消息放在这个队列上。
  2. 将所有接收到的消息发送到单个目的地并从中消费。

有人有更好的主意吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 07:14:01

在单个队列上使用通配符模式

也就是说,不要从两个队列中读取,而是使用一个队列并指定您想要在名称中读取的所有队列。

即:"QUEUE.NR1,QUEUE.NR2""SOME.PREFIX.>"读取带有该前缀的所有队列。客户端代码将此处理为单个队列。

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

https://stackoverflow.com/questions/30365908

复制
相关文章

相似问题

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