我正在应用程序中使用收件人列表路由器,将消息发送到不同的JMS出站适配器,如下所示:
queue -> recipient-list-router -> queue1 -> JMS outbound adapter 1
-> queue2 -> JMS outbound adapter 2
我面临两个问题:
以下是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>
答案 0 :(得分:0)
#{...}
表达式在上下文初始化期间被评估一次。在这里,您需要运行时表达式。在运行时表达式中,您用@
引用了其他bean-所以...
selector-expression="@utils.isHourInInterval('LN')"
编辑
我想念您的第二个问题-使用ignore-send-failures="true">
。