Mik*_*lin 5 java spring-integration
我找不到使用网关和服务激活器进行回复处理的文档.
如果我有网关:1)向通道发送请求ReqChannel 2)接受通道RepChannel上的回复
ReqChannel连接到路由器,路由器将传入的消息路由到某些服务激活器之一,比如说AServiceActivator和BServiceActivator,并且服务激活器有一个配置的输出通道="RepChannel".
如果我在网关的接口上异步或同时从不同的线程执行多个方法调用,那么网关如何将传入的回复与实际的服务调用者相关联?
网关创建临时回复通道并将其放入消息的标头中.此机制提供必要的关联,因为每条消息都有自己的回复通道.
如果最终消费者(比如服务激活者)没有输出通道,框架会自动将回复发送到replyChannel标头.
出于这个原因,通常没有必要在网关上声明回复通道以供最终消费者发送.
但是,有时候这很有用 - 例如,如果您想要点击回复频道,或者将其设置为发布 - 订阅频道,那么结果会转到多个位置.
在这种情况下(当网关上有回复通道,最终消费者在那里发送消息时),框架只是将显式声明的回复通道桥接到消息头中的临时回复通道.
因此,在流中保留replyChannel标头至关重要.除非您包含原始邮件的replyChannel标头,否则您无法向回复频道发送任意回复.
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |