Activiti流程引擎学习
Activiti简介
Activiti是领先的轻量级、以java为中心的开源BPMN引擎,支持真实世界的流程自动化需求。
官网:https://www.activiti.org/
开发手册:http://jeecg.com/activiti5.21/
流程数据存储:H2内存数据库(默认),数据库(工作中使用)
工作常用流程图展示:
Activiti流程的生命周期
流程定义
创建一个新的XML文件(在任意项目上右击,选择New→Other→XML-XML File)并命名。确保该文件名以.bpmn20.xml或.bpmn结尾,因为只有这样,引擎才会在部署时选择这个文件。
流程部署
部署(deploy)流程,可以使Activiti引擎可以识别它。部署意味着引擎会将BPMN 2.0 xml文件解析为可执行的东西,并为部署中包含的每个流程定义创建新的数据库记录。
流程启动
向Activiti引擎部署流程定义后,可以用它启动流程实例。每个流程定义都可以有多个流程实例。流程定义就像是“蓝图”,而流程实例在运行时执行它。
节点任务完成
流程启动后,用户任务,一般会提供“待办任务”列出所有需要该用户处理的任务。
Activiti通过complete完成任务,完成之后流程实例会继续向下一步进行。
流程暂停和激活
暂停流程定义。当流程定义暂停后,不能再创建新的流程实例(会抛出异常)。
激活流程定义。可创建流程实例。
暂停流程实例。当流程实例暂停后,不能进行流程操作(例如完成任务会抛出异常),作业(如定时器)也不会执行。
激活流程定义。可进行流程操作。
流程结束
流程执行至结束事件,并结束流程实例。这个流程实例与所有相关的运行时执行数据都会从数据库中移除。
Activiti流程元素
事件
事件通常用于为流程生命周期中发生的事情建模,事件图形基本为圆圈。
定时器事件
定时器事件,是由定义的定时器触发的事件。可以用于开始事件 start event,中间事件 intermediate event,或边界事件 boundary event。