我们正在使用header-value-router
。配置:
<int:header-value-router input-channel="accountSummeryRequest"
header-name="word"
default-output-channel="accountSummeryRequest"
resolution-required="false">
<int:mapping value="xx" channel="accountSummeryRequest" />
<int:mapping value="yy" channel="newRequestChannel" />
</int:header-value-router>
<int:service-activator id="accountServiceActivator"
input-channel="accountSummeryRequest"
output-channel="accountSummeryResponse"
ref="serviceGatewayAdapter"
method="requestHandler"
send-timeout="60000"/>
<int:service-activator id="caRequestActivator"
input-channel="newRequestChannel"
output-channel="accountSummeryResponse"
ref="caServiceGatewayAdapter"
method="requestHandler"
send-timeout="60000"/>
现在,如果我将单词yy
给出,则第一次调用header-value-router enter code here
并调用精确的服务激活器,在本例中为caRequestActivator
。但我再次尝试使用word=yy
header-value-router未被调用,请求通过accountServiceActivator
。替代请求正常工作。
我不知道这里有什么问题。
答案 0 :(得分:1)
您的问题围绕round-robin
频道及其两位订阅者的accountSummeryRequest
调度员:<int:header-value-router>
和accountServiceActivator
。
要解决此问题,您应该将input-channel
的{{1}}更改为某个不同的频道。当然,不要试图改变<service-activator>
相应