您能提供在 Spring Integration 中路由消息的任何示例吗?按有效负载消息、标头或类似以下内容进行过滤:
<int:payload-type-router input-channel="routingChannel">
<int:mapping type="java.lang.String" channel="channel1" />
<int:mapping type="java.lang.Integer" channel="channel2" />
</int:payload-type-router>
响应如何发挥作用?我的意思是,如果我发送:
通道->路由器->变压器->网关
很简单,但我正在寻找类似于此示例的内容:
<int:router input-channel="inChannel" expression="payload.paymentType">
<int:mapping value="CASH" channel="cashPaymentChannel"/>
<int:mapping value="CREDIT" channel="authorizePaymentChannel"/>
<int:mapping value="DEBIT" channel="authorizePaymentChannel"/>
</int:router>
当我的网关收到消息并将响应发送到回复通道时。我如何在路由器中得知正确的回复通道是什么?
@Router
方法只是返回消息将路由到的通道或通道名称。
@Router(inputChannel="routingChannel")
public String route(Object payload) {
if (payload instanceof String() {
return "channel1";
}
...
}
对于你的第二个问题,你需要展示更多的流程;什么是“上游”channel
?
您可以省略reply-channel
从网关(或省略output-channel
来自其他类型的最终回复生成消费者),并且回复将被发送到消息所在的通道reply-channel
标头;启动请求/回复场景的框架组件(入站网关、消息传递网关、sendAndReceive
中的方法MessagingTemplate
)自动设置此标头,因此您无需执行任何操作;它就是有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)