【发布时间】:2018-07-12 07:16:31
【问题描述】:
我在我的应用程序中使用收件人列表路由器将消息发送到不同的 JMS 出站适配器,如下所示:
queue -> recipient-list-router -> queue1 -> JMS outbound adapter 1
-> queue2 -> JMS outbound adapter 2
我面临两个问题:
- 选择器表达式仅在最初运行,而不是针对转发的每条消息
- 如果任何 JMS 代理关闭,则消息不会发送到另一个 JMS 代理。
以下是 XML 配置:
<i:recipient-list-router input-channel="result-pack-output-channel" >
<i:recipient channel="result-pack-output-channel-1"
selector-expression="#{utils.isHourInInterval('LN')}"/>
<i:recipient channel="result-pack-output-channel-2"
selector-expression="#{utils.isHourInInterval('NY')}"/>
<i:recipient channel="result-pack-output-channel-3"
selector-expression="#{utils.isHourInInterval('HK')}" />
<i:recipient channel="result-pack-output-channel-4"
selector-expression="#{utils.isHourInInterval('ME')}"/>
</i:recipient-list-router>
【问题讨论】:
-
请向我们展示一些 java 代码或您的实现的 XML 配置。否则很难帮你。另外,您是否发现任何异常情况?
-
@Tobias:添加了xml配置
-
没有例外@Tobias
标签: spring spring-integration spring-jms jms-topic jmstemplate