我使用多个<si:service-activator>
和<jms:message-driven-channel-adapter>
订阅多个队列和主题。来自每个目的地的消息在一个单独的线程中接收,这意味着我的接收代码中满是锁,以保护可变的内部状态。
我希望我的接收代码是无锁的。是否可以将spring-integration/activemq配置为从同一个线程上的多个目的地接收?
如果这是不可能的,我可以想到两种选择:
有人有更好的主意吗?
发布于 2015-05-21 07:14:01
在单个队列上使用通配符模式。
也就是说,不要从两个队列中读取,而是使用一个队列并指定您想要在名称中读取的所有队列。
即:"QUEUE.NR1,QUEUE.NR2"
或"SOME.PREFIX.>"
读取带有该前缀的所有队列。客户端代码将此处理为单个队列。
https://stackoverflow.com/questions/30365908
复制相似问题