Spring integration Spring集成如何管理异步网关

Spring integration Spring集成如何管理异步网关,spring-integration,Spring Integration,我已经在下面配置了网关。这可以作为部署在tomcat上的web应用程序服务层的SI流入口点。调用方法将从服务层调用。SI流有许多组件,它使用拆分器、路由器和聚合器,最后将响应发送到outputChannel 在SI流中,我使用任务执行器的数量使某些流并行运行(特别是在拆分器之后) SI如何确保它将正确的响应返回到服务层的调用?是否有可能将一个用户请求的响应发送到另一个请求?如果是,是否需要特殊处理?如果需要,我可以粘贴完整的配置 <!-- Entry point Facade to DSL

我已经在下面配置了网关。这可以作为部署在tomcat上的web应用程序服务层的SI流入口点。调用方法将从服务层调用。SI流有许多组件,它使用拆分器、路由器和聚合器,最后将响应发送到outputChannel

在SI流中,我使用任务执行器的数量使某些流并行运行(特别是在拆分器之后)

SI如何确保它将正确的响应返回到服务层的调用?是否有可能将一个用户请求的响应发送到另一个请求?如果是,是否需要特殊处理?如果需要,我可以粘贴完整的配置

<!-- Entry point Facade to DSL layer. To be called by Liquidity Portal web application -->
<int:gateway id="dslServiceFacade" service-interface="dsl.gateway.IDSLServiceFacade"  
    default-request-channel="inputChannel" default-reply-channel="outputChannel" error-channel="errorChannel" async-executor="dslParallelExecutor">
    <int:method name="invoke" request-channel="inputChannel" request-timeout="5000"/>
</int:gateway>

public interface IDSLServiceFacade {

public Future<DSLResponseVO> invoke(Map<String, Object> requestMap) throws LSIntegrationException;
}

公共接口IDSLServiceFacade{
公共未来调用(Map-requestMap)抛出LSIntegrationException;
}

每个网关请求都会获得一个新的临时通道(在
replyChannel
标题中)。当您在网关上显式使用应答通道时,它将桥接到请求的实际应答通道。调用线程等待在该通道上接收应答

通常,您可以省略应答通道,只需在最终端点上没有
输出通道
。框架将检测到这一点,并将应答直接路由到
replyChannel
报头,返回网关

有时需要使用一个显式的回复通道(例如,如果您想有线点击它进行日志记录);在这些情况下,框架完成了我上面提到的桥接

流不删除
replyChannel
头是至关重要的;否则,框架无法将应答返回给调用方