首页 > 解决方案 > Activiti 工作流重试机制是如何工作的

问题描述

从 Activiti 用户指南(https://www.activiti.org/userguide/#failRetry)中,我们可以配置重试次数和重试间隔,如下所示:

<serviceTask id="failingServiceTask" activiti:async="true" activiti:class="org.activiti.engine.test.jobexecutor.RetryFailingDelegate">
    <extensionElements>      
        <activiti:failedJobRetryTimeCycle>R5/PT7M</activiti:failedJobRetryTimeCycle>
    </extensionElements>
</serviceTask>

但是,一个作业可能包含许多任务,那么它会从哪些任务中获取重试配置?作业的第一个任务还是失败的任务?

此外,我是否需要将重试配置放入每个任务中?

(注意:问题也在这里发布:https ://hub.alfresco.com/t5/alfresco-process-services/how-activiti-workflow-retry-mechanism-work/td-p/292354 )

标签: workflowactiviti

解决方案


一旦遇到错误,作业的完整条目就会受到影响。您可以(并且应该)为每个作业只保留一个服务任务(通常是“JavaDelegate”)。

Activiti 致力于管理等待状态。如果遇到错误,则事务回滚直到最后一个等待状态回滚。


推荐阅读