在批处理mule esb中面临错误
我在批处理mule esb时面临问题。若我在进程记录面中设置了任何有效负载,并尝试在oncomplete面中获取该有效负载,那个么就不会获取该有效负载。变量和属性也有同样的问题。 若我在流程记录阶段设置了任何属性,并尝试进入完整阶段,那个么总是得到空值。 如何在完成阶段获得这些值? 下面是流程图在批处理mule esb中面临错误,mule,batch-processing,mule-studio,Mule,Batch Processing,Mule Studio,我在批处理mule esb时面临问题。若我在进程记录面中设置了任何有效负载,并尝试在oncomplete面中获取该有效负载,那个么就不会获取该有效负载。变量和属性也有同样的问题。 若我在流程记录阶段设置了任何属性,并尝试进入完整阶段,那个么总是得到空值。 如何在完成阶段获得这些值? 下面是流程图 <batch:job name="TestBatch" max-failed-records="-1"> <batch:input> &
<batch:job name="TestBatch" max-failed-records="-1">
<batch:input>
<component class="com.test.RecordTest"
doc:name="Java" />
<json:object-to-json-transformer
doc:name="Object to JSON" />
<custom-transformer class="com.test.CustomTr"
doc:name="Java" />
</batch:input>
<batch:process-records>
<batch:step name="Batch_Step1" accept-policy="ALL">
<batch:commit size="5" doc:name="Batch Commit">
<!-- Insert record in Salesforce -->
</batch:commit>
</batch:step>
<batch:step name="Batch_Step2" accept-policy="ONLY_FAILURES">
<logger message="STEPP #[getStepExceptions()]" level="INFO" doc:name="Logger"/>
<set-property propertyName="error" value="STEPP #[getStepExceptions()]" doc:name="Property"/>
<set-payload value="#[getStepExceptions()]" doc:name="Set Payload"/>
</batch:step>
</batch:process-records>
<batch:on-complete>
<logger level="INFO" doc:name="Logger" message="--> #[payload.failedRecords] --> #[message.payload] "/>
<logger message="error--- #[message.outboundProperties['error']] " level="INFO" doc:name="Logger"/>
</batch:on-complete>
</batch:job>
我在属性记录器中得到空值
我该怎么解决这个问题呢?我从你那里得到了一些坏消息:-)。 通过设计进行批处理不会过时您可以尝试在步骤中设置的任何值,尤其是有效负载 当我开始使用它时,我还希望在完成阶段上的会话变量处于正确的状态,但事实并非如此,它们在每一步都会被完全清除 现在我不认为这是一个bug,但它确实是一个设计特性,即使我不是很喜欢它,我也可以理解它。 我用这个方法解决了同样的问题 它将允许您通过nice XML配置块访问mule对象存储API,这样您就可以将变量存储在内存中,完成后可以恢复这些变量,而不受流逻辑的影响 希望这有帮助