Activiti是领先的轻量级的,以Java为中心的开源BPMN(Business Process Modeling Notation)引擎,实现了真正的流程自动化。
使用idea+springboot+mysql进行整合开发
1.首先安装Activiti的idea插件,在setting-plugins搜索actiBPM安装后重启idea即可
2.创建测试的springboot项目,添加依赖:
<!--- Activiti依赖导入 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
3.添加相应配置
spring:
activiti:
check-process-definitions: true #自动检查、部署流程定义文件
database-schema-update: true #自动更新数据库结构
process-definition-location-prefix: classpath:/processes/ #流程定义文件存放目录
#process-definition-location-suffixes: #流程文件格式
# - **.bpmn20.xml
# - **.bpmn
启动项目时,如果没有流程部署,就不能通过自动注入,使用RuntimeService等API,依赖注入时后报错。(这一步启动项目可能会报错,看备注3)
ActivitiProperties中定义了activiti的自动配置项,其他配置请查看ActivitiProperties属性。
4.新建一个文件夹,并新建一个BPMN文件,打开,然后页面会变成这样:
4.可以拖入右面的流程, 首先拖入StartEvent,不需要的节点可以选中按键盘delete键删除
5.创建完流程之后,可以启动项目,项目启动完成后,可以看到数据库多了28张表,这些表即为activiti的表
activiti的基本配置到此结束
流程id不能以数字开头
备注:
1.插件乱码
idea 安转activiti插件后,编辑流程图发现保存后中文乱码,并且idea的字符集(Settings—>Editor—>File Encodings)已经设置为UTF-8,流程图中中文仍然是乱码,如下图所示:
2、解决此问题,需要修改idea源字符集,修改方法如下:
找到idea安装目录bin目录下如下图所示两个文件:
用编辑器打开,在文件末尾添加:
-Dfile.encoding=UTF-8
然后重启idea,再打开流程图就会发现中文已经可以正常显示了:
2.idea actiBPM插件生成png文件 (解决没有Diagrams或Designer选项问题)
之前在网上看到一种解决办法:
先将bpmn文件修改成xml文件
然后右键点这个xml文件,在选项中选择diagrams,然后选择show Designer
就可以看到流程图,然后Export to file保存png文件。
我试了一下,但是在xml文件右键菜单中并没有找到Diagrams选项。
后来找到问题所在,原来是因为有一个jbpm2.0的插件没有开启
开了这个插件后,果然xml右键菜单显示有Diagrams或Designer选项了
点开后,显示流程图,点击Export to file导出png
成功导出!
3.可能会报这种错
解决:activiti初始化表,操作数据库使用jpa,我们这里解决办法就是引入spring-data-jpa-starter自动配置EntityManagerFactory。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
参考链接:Activiti(一)SpringBoot2集成Activiti6
公司暂时不用我负责这块了,所以 此文终结

