在写ServiceTask监听类的时候,监听类中同时要调用几个服务去进行同步,这时要考虑同步失败如何进行处理。 我目前的想法是,一个是失败后自动重试,重试失败后再由定时任务跑批同步。 设置失败后自动重试(待验证): 在bpmn流程图的xml文件的标签中增加如下配置:
<serviceTask activiti
:async
="true" activiti
:exclusive
="false" activiti
:expression
="${demoService.getSentence(execution)}" id
="demoServiceTask" name
="demoServiceTask">
<extensionElements>
<activiti
:failedJobRetryTimeCycle
>R5
/PT1M
</activiti
:failedJobRetryTimeCycle
>
</extensionElements
>
</serviceTask
>
①配置async为true,默认为false ②R5/PT1M:表示配置重试次数为每个1分钟重试一次,总共重试5次 参考:https://my.oschina.net/go4it/blog/756149