Spring集成中的输出通道和回复通道有什么区别?

时间:2019-09-03 10:10:03

标签: java spring spring-integration

我注意到许多SI组件同时具有:reply-channeloutput-channel。例如有效负载增强器:https://docs.spring.io/spring-integration/docs/5.0.14.BUILD-SNAPSHOT/reference/html/messaging-transformation-chapter.html#payload-enricher

来自文档:

输出渠道-

  

标识将在其后发送消息的消息通道   正在由此端点处理。可选。

回复渠道-

  

需要回复消息的频道。这是可选的;通常   自动生成的临时回复渠道就足够了。可选。

您能澄清区别吗?

1 个答案:

答案 0 :(得分:3)

在谈论类似 gateway 的组件时,request-channelreply-channelinput-channeloutput-channel等效。当组件通常作为 service-activator (如提到的ericher)时,input-channel是组件期望输入消息进行处理的地方。 output-channel,此组件将在其中发送输出消息。它的逻辑是从外部请求一些数据,因此它的request-channel是该组件将要请求的位置。 reply-channel期望从子流得到答复。

在许多其他出站网关中,您应该对待request-channel == input-channelreply-channel == output-channel