【问题标题】:Spring Integration Parallel Processing without Aggreagation无聚合的 Spring 集成并行处理
【发布时间】:2015-09-22 07:57:09
【问题描述】:

我找不到足够/清晰的文档。

我收到来自chain processing 的消息。频道收到消息后,我想有条件地复制消息。

简单流程:

<int-http:inbound-gateway request-channel="httpRequestChannel" reply-channel="httpResponseChannel" supported-methods="POST" 
    path="/doSomething" request-payload-type="com.xxx.Request" >
</int-http:inbound-gateway>

<int:chain id="msgChain" input-channel="httpRequestChannel" output-channel="processChannel">
    <int:claim-check-in message-store="messageStore"/>
    //do something
</int:chain>

<int:chain id="msgChain2" input-channel="processChannel" output-channel="parallelChannel">
    <int:claim-check-in message-store="messageStore"/>
    //do something
</int:chain>

<int:chain id="parallelChainId" input-channel="parallelChannel" output-channel="httpResponseChannel">
    <int:claim-check-in message-store="messageStore"/>
    if(payload infrom3rdparty property set i.e. payload.infrom3rdparty == true){
           send this message to //3party Channel
    }
    //do something
</int:chain>

我无法申请 filter,因为丢弃消息会转到不同的频道,例如 if else。但我只需要if 将消息复制到另一个频道

【问题讨论】:

    标签: java spring message spring-integration duplicate-data


    【解决方案1】:

    也许您可以尝试使用具有 2 个订阅者的发布-订阅频道: - 遵循的标准流程 - 复制流程

    在复制流程中,您可以使用过滤器来选择是否应该发送消息。可能是这样的:

    <int:publish-subscribe-channel id="parallelChannel"/>
    
    <int:chain id="standardFlowChain" input-channel="parallelChannel" output-channel="httpResponseChannel">
        <int:claim-check-in message-store="messageStore"/>
        //follow the standard flow
    </int:chain>
    <int:chain id="thirdPartyFlowChain" input-channel="parallelChannel" output-channel="thirdPartyOutputChannel">
        <int:claim-check-in message-store="messageStore"/>
        <int:filter expression="payload.infrom3rdparty == true"/>
    </int:chain>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多