activiti流程引擎简单步骤

一般步骤
1. 创建bpmn文件,画出流程图
2. 生成png图片文件
3. 用上述两个文件来部署流程
4. 启动流程
5. 完成任务
6. 结束流程

1,2步比较简单,直接创建就行

部署流程
有三张部署方式,具体地可以看其他博主的文章,这里给出一篇我看到的:https://blog.csdn.net/zjx86320/article/details/50234707

启动流程

获取RuntimeService服务,

在启动流程时要先获取RuntimeService服务,所有与流程有关的操作都要用到此服务 获取方式:
RuntimeService runtimeService = processEngine.getRuntimeService();
启动时,要有一个参数,来确定是启动哪个流程,一般为流程图中的id值
activiti流程引擎简单步骤_第1张图片

开启流程

开启方式
runtimeService.startProcessInstanceByKey(processKey, variables);
此时,启动成功,返回的是一个流程实例ProcessInstance对象,可以保存下来.之后获取相应任务的时候就方便许多.
其中参数:variables为map类型key值一般在流程图中指出来,map中的键值对可以保存到数据库相应的表中
activiti流程引擎简单步骤_第2张图片

完成任务

获取TaskService对象

TaskService taskService = this.processEngine.getTaskService();

根据示例流程id获取数据库act_ru_task表中对应的task

一个实例流程在这个表中只能有一个当前任务

Task task = taskService.createTaskQuery()//创建查询对象
                .processInstanceId(processInstanceId)//通过流程实例id来查询当前任务
                .singleResult();//获取单个查询结果

执行任务

taskService.complete(task.getId());

同样,complete函数还有一个可选参数,variables也是向流程中传递map变量

你可能感兴趣的:(activiti学习)