workflow - 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 )
解决方案
一旦遇到错误,作业的完整条目就会受到影响。您可以(并且应该)为每个作业只保留一个服务任务(通常是“JavaDelegate”)。
Activiti 致力于管理等待状态。如果遇到错误,则事务回滚直到最后一个等待状态回滚。
推荐阅读
- python - 我不知道如何在获取请求中将 API 与密钥放在一起
- asp.net - 如何在基于实体框架脚手架的 MVC 应用程序中连接表并传递给视图
- javascript - 在拖放从列表中选择一个项目时,它会再次出现在搜索中
- javascript - 我的突出显示功能中的唯一键警告 - React Native
- python - 如何应用 printers.py 修改?(Linux 操作系统)
- python-2.7 - 如何打印列表中的列表
- javascript - 让VS代码在调试js代码时默认选择Node.js环境
- c++ - 在 intel 内部函数 (AVX) 中使用混合指令
- sql - 将 varchar 转换为日期 ddmmyyyy 时出错
- azure - Azure VM 无法访问端口 8080