首页 > 解决方案 > 执行 Mulesoft 批处理组件时出现问题

问题描述

我在 MuleSoft 4 中执行批处理功能时遇到问题,我正在尝试打印最终的有效负载,但我无法打印最终处理的有效负载。请求任何人提供相同的帮助。代码 xml 如下所示。

谢谢。

代码 XML:

<http:listener-config name="parentListener" doc:name="HTTP Listener config" doc:id="fbfff994-e442-42eb-84f7-0d6481ef1198" basePath="/" >
    <http:listener-connection host="0.0.0.0" port="8085" />
</http:listener-config>
<http:request-config name="HTTP_Request_configuration" doc:name="HTTP Request configuration" doc:id="742dd6a4-706e-473d-96f9-9719f34ed2b6" >
    <http:request-connection host="0.0.0.0" port="8086" />
</http:request-config>
<flow name="parent" doc:id="a8cb06bf-866d-4ec6-9f9f-0f492cc05044" >
    <scheduler doc:name="Scheduler" doc:id="c2a54ae1-7de0-4daf-962c-99a5eef5b78a" >
        <scheduling-strategy >
            <fixed-frequency frequency="10000"/>
        </scheduling-strategy>
    </scheduler>
    <set-payload value="#[['Apple','Banana']]" doc:name="[Apple,Banana]" doc:id="5694f264-e91d-4f2e-81aa-1267cb45f250" />
    <batch:job jobName="processRecordsBatch_Job" doc:id="c3290b63-08ba-4abc-a963-02089df89b7a" >
        <batch:process-records >
            <batch:step name="Batch_Step1" doc:id="79158da3-251b-46ec-b276-0421308fe34c" >
                <set-payload value='"1" ++ payload' doc:name="Step One" doc:id="8cb8905c-4e62-4115-995f-5416ac3a26bd" />
            </batch:step>
            <batch:step name="Batch_Step2" doc:id="00e4f7a3-83a8-46be-8b58-9e5d38850fec" >
                <set-payload value='"2"  ++ payload' doc:name='"StepTwo" ' doc:id="41a80eda-d4db-4a6a-9b0e-b79fade09f45" />
            </batch:step>
        </batch:process-records>
        <batch:on-complete >
            <logger level="INFO" doc:name="Logger" doc:id="56feea1f-6e23-4979-b66b-9d08037b56ef" message='#[payload]'/>
        </batch:on-complete>
    </batch:job>
</flow>

流程截图: 在此处输入图像描述

标签: mulemule-studiomule-componentmulesoftmule-esb

解决方案


您将看不到批处理的“输出”,因为批处理范围没有返回。批处理范围相对于流异步处理,并且不返回值。

您可以在 On Complete 阶段添加记录器以打印批处理执行的结果(已处理的记录、失败等)。


推荐阅读