flowable7.0.1常见问题解答
说明:本文采用Q-A的形式,持续更新...
Q:flowable中任务审批时在taskCompleted监听中获取当前审批提交的表单内容?
A:taskService.setLocalVirables(Map<String,Object> variables);也可以通过添加缓存变量的方式实现,原理是一样的。
Q:为什么historyService.creatHistoricVariableQuery().processInstanceId(String processInstanceId).list()获取不到?
A:任务审批时手工指定了事务,在taskCompleted()方法执行时事务稍微提交,所以获取不到。
Q:任务分为多个任务,要去都完成后再进行后续任务,该怎么设置?
A:使用并行网关,在bpmn.js中是一个+号。先托一个并行网关A,后面连接多个任务,再托一个并行官关B,使多个任务连接至并行网关B,类似下图这样:
Q:processInstanceId executeId taskId的关系?
A:在Flowable(以前称为Activiti)工作流引擎中,processInstanceId
、executionId
和taskId
是用于标识流程实例和任务的三个关键概念。以下是它们之间的关系和区别:
- processInstanceId:
这是一个流程实例的唯一标识符,它代表了从开始到结束的一个完整流程实例的执行。
当一个流程定义被启动时,会生成一个processInstanceId
,这个ID将贯穿整个流程实例的生命周期。
- executionId:
executionId
与流程实例中的活动或子流程的执行上下文相关联。
在一个流程实例中,可能有多个executionId
,因为每个活动或并行分支都会有自己的执行实例。
根执行实例的executionId
通常与processInstanceId
相同,而子流程或并行分支则会有不同的executionId
。
- taskId:
每个用户任务在流程中都有一个唯一的taskId
。
taskId
标识了一个特定的人工任务,它可能是流程实例中的一个步骤。
原文地址:https://blog.csdn.net/jieyanqulaopo123/article/details/140297048
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!