什么是mule ESB中的流程链组件?

时间:2017-02-16 10:31:34

标签: mule batch-processing

我遇到过在批量提交中使用流程链的情况,它的大小是100条记录。 这里的流程链的目的是什么?即使批处理也按照相同的顺序执行消息。

<batch:process-records> <batch:step name="Batch_Step" > <batch:commit doc:name="Batch Commit" size="5000"> <processor-chain doc:name="PC"> <dw:transform-message metadata:id="123" doc:name="Transform Message"> <dw:set-payload>.......</dw:set-payload> </dw:transform-message> <sfdc:create-batch config-ref="SFA_NOL_MSBI" doc:name="Salesforce"> <sfdc:job-info ref="#[flowVars.jobInfo_delete]"/> <sfdc:objects ref="#[payload]"/> </sfdc:create-batch> </processor-chain> </batch:commit></batch:step></batch:process-records>

1 个答案:

答案 0 :(得分:3)

processor-chain主要用于那些不允许多个嵌套处理器的消息处理器 例如Message Enricher,其中只允许一个消息处理器,如果你想要多个消息处理器,需要在内部配置processor-chain以丰富内容: -

<enricher source="#[your mel expression]" target="#[flowVars.myVal]">
    <processor-chain>
        <http:request config-ref="HTTP_Request_Configuration" path="/mytest/test/1" method="POST" doc:name="HTTP"/>
        <logger message="#[message.payload(java.lang.String)]" level="INFO" doc:name="Logger"/>
    </processor-chain>
</enricher>  

请注意,在Message Enricher内,您可以同时使用多个组件,例如http:requestlogger,如果没有processor-chain

,这是不可能的