流程定义图:
一、部署流程定义:
这里我们使用到RepositoryService类部署流程定义,加载流程图资源的方式有三种:
1、使用addClasspathResource(),在类路径下加载资源,注意每次只能加载一个文件。
2、使用addZipInputStream()方式加载资源,如下图:
3、使用addInputStream()方式加载资源,如下图:
在这里值得一说的是:
//从classpath根目录下加载指定名称的文件
this.getClass().getClassLoader().getResourceAsStream("helloworld.bpmn")
// 从当前包下加载指定名称的文件
this.getClass().getResourceAsStream("helloworld.bpmn")
//从classpath根目录下加载指定名称的文件
this.getClass().getResourceAsStream("/helloworld.bpmn")
二、启动流程。
这里我们使用到的是runtimeService类,使用流程定义的key来启动流程,key对应的是helloworld.bpmn文件中id属性值。使用key值启动的好处是:当key相同的时候默认按照最新版本的流程定义启动。
三、查询个人任务。
在helloworld.bpmn文件中指定“部门经理审批”节点中的Assignee(办理人)的属性值为:李四。
四、完成任务。
任务Id为查询个人任务时获取到的任务ID。
根据流程定义,“部门经理审批之后下一个流程节点是总经理审批”重复三、四步骤,Assignee修改为王五。
至此,完成整个流程。
时间: 2024-10-14 13:26:28