jbpm4中executionId和processInstanceId是否始终相等?

 jbpm4中executionId和processInstanceId是否始终相等?

最佳答案

不知道您说的相等是什么概念,不过在jbpm4中,executionId是用来推进流程的,实际上与jbpm3中的token很类似,所以它会在执行的过程中在processInstance,historyActivityInstance,historyTaskInstance,historyVariable这些实例间进行传递,还有原子操作的执行,也是依靠传递Execution实例来执行的(详见ExecuteActivity、MoveToParentActivity、TransitionTake、TransitionStartActivity、ExecuteEventListener、TransitionEndActivity),而在执行之后,executionId会与processInstance,historyActivityInstance,historyTaskInstance,historyVariable几个实例相关联持久化到数据库。所以不存在executionId与processInstanceId相等的概念的。

 怎样通过processInstanceId取得所有未完成

 怎样通过processInstanceId取得所有未完成的任务(或所有的任务)

taskService.findGroupTasks("j

taskService.findGroupTasks("joesmoe");

List<Task> taskList = taskService.findPersonalTasks("johndoe");


ExecutionImpl execution=(ExecutionImpl)this.getExecutionService().findExecutionById(xxxx");

都可以取到未完成的流程,请你查看jbpm 使用文档,开发文档和 API文档能帮助你解决大部分问题

 

 

不是一回事

不知道您说的相等是什么概念,不过在jbpm4中,executionId是用来推进流程的,实际上与jbpm3中的token很类似,所以它会在执行的过程中在processInstance,historyActivityInstance,historyTaskInstance,historyVariable这些实例间进行传递,还有原子操作的执行,也是依靠传递Execution实例来执行的(详见ExecuteActivity、MoveToParentActivity、TransitionTake、TransitionStartActivity、ExecuteEventListener、TransitionEndActivity),而在执行之后,executionId会与processInstance,historyActivityInstance,historyTaskInstance,historyVariable几个实例相关联持久化到数据库。所以不存在executionId与processInstanceId相等的概念的。