自学内容网 自学内容网

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)工作流引擎中,processInstanceIdexecutionIdtaskId是用于标识流程实例和任务的三个关键概念。以下是它们之间的关系和区别:

  • processInstanceId:

        这是一个流程实例的唯一标识符,它代表了从开始到结束的一个完整流程实例的执行。

        当一个流程定义被启动时,会生成一个processInstanceId,这个ID将贯穿整个流程实例的生命周期。

  • executionId:

  executionId与流程实例中的活动或子流程的执行上下文相关联。

        在一个流程实例中,可能有多个executionId,因为每个活动或并行分支都会有自己的执行实例。

        根执行实例的executionId通常与processInstanceId相同,而子流程或并行分支则会有不同的executionId

  • taskId:

        每个用户任务在流程中都有一个唯一的taskId

  taskId标识了一个特定的人工任务,它可能是流程实例中的一个步骤。


原文地址:https://blog.csdn.net/jieyanqulaopo123/article/details/140297048

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!