为什么批处理作用域在尝试加载大型记录时表现得很奇怪-Mule ESB

为什么批处理作用域在尝试加载大型记录时表现得很奇怪-Mule ESB,mule,batch-processing,mule-studio,mule-component,Mule,Batch Processing,Mule Studio,Mule Component,我在批处理的过程记录阶段面临问题,请建议-我正在尝试加载一些KB的文件(大约有5000条记录)。对于成功场景,它是有效的。 如果假设第一次命中的输入阶段发生错误,并且流停止,则当第二次尝试命中同一记录时。Mule在过程记录步骤中停止执行。加载阶段后,Mule未运行。请在下面找到运行时日志 11:55:33 INFO info.org.mule.module.logging.DispatchingLogger - Starting loading phase for instance 'a

我在批处理的过程记录阶段面临问题,请建议-我正在尝试加载一些KB的文件(大约有5000条记录)。对于成功场景,它是有效的。 如果假设第一次命中的输入阶段发生错误,并且流停止,则当第二次尝试命中同一记录时。Mule在过程记录步骤中停止执行。加载阶段后,Mule未运行。请在下面找到运行时日志

11:55:33  INFO  info.org.mule.module.logging.DispatchingLogger - Starting loading phase for   instance 'ae67601a-5fbe-11e4-bc4d-f0def1ed6871' of job 'test'
11:55:33  INFO  info.org.mule.module.logging.DispatchingLogger - Finished loading phase for instance ae67601a-5fbe-11e4-bc4d-f0def1ed6871 of job order. 5000 records were loaded
11:55:33  INFO  info.org.mule.module.logging.DispatchingLogger - **Started execution of instance 'ae67601a-5fbe-11e4-bc4d-f0def1ed6871' of job 'test**
实例启动后它停止了处理-我不确定这里发生了什么。 当我停止流程并从工作区中删除.mule文件夹时。然后就行了。 我希望在使用临时队列加载阶段mule时,在输入阶段发生异常时不会自动删除,但不确定这是否是真正的原因

我不能每次都实时删除.muleFolder

你能告诉我是什么导致了这种奇怪的行为吗。如何解决这个问题。请查找配置xml

  <batch:job name="test">
    <batch:threading-profile poolExhaustedAction="WAIT"/>
    <batch:input>

        <component class="com.ReadFile" doc:name="File Reader"/>
        <mulexml:jaxb-xml-to-object-transformer returnClass="com.dto" jaxbContext-ref="JAXB_Context" doc:name="XML to JAXB Object"/>
        <component class="com.Transformer" doc:name="Java"/>
    </batch:input>
    <batch:process-records>
        <batch:step name="Batch_Step" accept-policy="ALL">
            <batch:commit doc:name="Batch Commit" streaming="true">

                <logger message="************after Data mapper" level="INFO" doc:name="Logger"/>
                <data-mapper:transform config-ref="Orders_Pojo_To_XML"  stream="true" doc:name="Transform_CanonicalToHybris"/>
                <file:outbound-endpoint responseTimeout="10000" doc:name="File" path="#[sessionVars.uploadFilepath]"">        

         </file:outbound-endpoint>       
            </batch:commit>
        </batch:step>
    </batch:process-records>
    <batch:on-complete>

       <set-payload value="BatchJobInstanceId:#[payload.batchJobInstanceId+'\n'], Number of TotalRecords: #[payload.totalRecords+'\n'], Number of loadedRecord: #[payload.loadedRecords+'\n'],  ProcessedRecords: #[payload.processedRecords+'\n'], Number of sucessfull Records: #[payload.successfulRecords+'\n'], Number of failed Records: #[payload.failedRecords+'\n'], ElapsedTime: #[payload.elapsedTimeInMillis+'\n'], InpuPhaseException #[payload.inputPhaseException+'\n'], LoadingPhaseException: #[payload.loadingPhaseException+'\n'], CompletePhaseException: #[payload.onCompletePhaseException+'\n'] " doc:name="Set Batch Result"/>

        <logger message="afterSetPayload: #[payload]" level="INFO" doc:name="Logger"/> 

        <flow-ref name="log" doc:name="Logger" />     

    </batch:on-complete>


将“最大失败记录数”设置为-1,以便即使出现异常,批处理作业仍将继续

在实时环境中,您没有清理.mule文件夹的情况

只有在使用Anypoint Studio时才会发生这种情况