如何解决错误“Batch Dispatcher thread”org.mule.api.serialization.SerializationException:无法反序列化对象“?

时间:2017-06-08 10:31:15

标签: mule transformation anypoint-studio

请在下面找到两个批次的代码,来自ma-sfdc-marketing-activities-batch-executionBatch commit的有效负载正确地到达ma-sfdc-marketing-activities-batch-executionBatch1输入阶段,但是当它尝试时进入流程阶段批处理步骤获取错误

    <batch:job name="ma-sfdc-marketing-activities-batch-executionBatch" max-failed-records="-1" block-size="10">
        <batch:process-records>
            <batch:step name="Batch_Step" accept-policy="ALL">
                ........
            </batch:step>
            <batch:step name="Batch_Step3" accept-expression="#[payload.ListId != null]">
                <batch:commit size="10000" doc:name="Batch Commit">
                    <enricher target="#[flowVars['jobInfo_contact_pref_payload']]" doc:name="Message Enricher">
                        <processor-chain doc:name="Processor Chain">
                            <dw:transform-message doc:name="Transform Message" metadata:id="264ca131-fd48-425a-ab79-c990728d9997">
                                <dw:input-payload/>
                                <dw:set-payload resource="classpath:elq-to-sfdc-task-v1.dwl"/>
                            </dw:transform-message>
                            <dw:transform-message doc:name="Transform Message">
                                <dw:set-payload><![CDATA[%dw 1.0
     %output application/java
     ---
   flatten payload.wholepl]]></dw:set-payload>
                            </dw:transform-message>
                            <async doc:name="Async">
                                <batch:execute name="ma-sfdc-marketing-activities-batch-executionBatch1" doc:name="ma-sfdc-marketing-activities-batch-executionBatch1"/>
                            </async>
                        </processor-chain>
                    </enricher>
                </batch:commit>
            </batch:step>

          </batch:process-records>
        <batch:on-complete>
            .......
        </batch:on-complete>
    </batch:job>
    <batch:job name="ma-sfdc-marketing-activities-batch-executionBatch1">
        <batch:input>
            .......
        </batch:input>
        <batch:process-records>
            <batch:step name="Batch_Step1">
                <logger message="subflow payload............. #[payload]" level="INFO" doc:name="Logger"/>
                <batch:commit size="5000" doc:name="Batch Commit">
                    <logger message="#['updating sfdc with payload: ' + message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
                    <sfdc:create-batch config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce">
                        <sfdc:job-info ref="#[flowVars.jobInfo_contact_pref]"/>
                        <sfdc:objects ref="#[payload]"/>
                    </sfdc:create-batch>
                </batch:commit>
            </batch:step>
        </batch:process-records>
        <batch:on-complete>
            .......
        </batch:on-complete>
    </batch:job>

我正在异步调用其他batchcommit中的批处理但是遇到错误,控件没有进入第二次批量提交,低于错误。

    Exception in thread "[ma-sfdc-batch-interface-v1.1].Batch Dispatcher thread" org.mule.api.serialization.SerializationException: Could not deserialize object
    at org.mule.serialization.internal.AbstractObjectSerializer.deserialize(AbstractObjectSerializer.java:139)
    at org.mule.serialization.internal.AbstractObjectSerializer.deserialize(AbstractObjectSerializer.java:112)
    at org.mule.serialization.internal.AbstractObjectSerializer.deserialize(AbstractObjectSerializer.java:102)
    at com.mulesoft.module.batch.engine.DefaultBatchJobInstanceStore.doRetrieve(DefaultBatchJobInstanceStore.java:370)
    at com.mulesoft.module.batch.engine.DefaultBatchJobInstanceStore.getJobInstance(DefaultBatchJobInstanceStore.java:249)
    at com.mulesoft.module.batch.engine.DefaultBatchEngine.refresh(DefaultBatchEngine.java:932)
    at com.mulesoft.module.batch.engine.DefaultBatchEngine.getSteppingQueueSize(DefaultBatchEngine.java:826)
    at com.mulesoft.module.batch.engine.BatchRecordDispatcherDelegate.dispatch(BatchRecordDispatcherDelegate.java:135)
    at com.mulesoft.module.batch.engine.BatchRecordDispatcherDelegate.dispatch(BatchRecordDispatcherDelegate.java:122)
    at com.mulesoft.module.batch.engine.BatchRecordDispatcherDelegate.run(BatchRecordDispatcherDelegate.java:90)
    at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60)
    at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
    at java.lang.Thread.run(Unknown Source)

0 个答案:

没有答案