一、官网下载activiti6
解压后结构如下:
database:
存放数据库对象相关脚本,包含不同的数据库脚本
libs:
包含activiti开发过程中需要用到的jar包和源码,不建议通过jar包直接引用,建议通过maven进行管理
wars:
包含三个文件
activiti-app:
提供了一个流程的建模工具,支持流程模型的导出和发布到activi系统,也提供了一个相对简单到流程审批界面和流程发起界面。
activiti-admin:
提供管理员功能,可以查看当前流程实例运行情况。
activiti-rest:
提供activiti 所有rest api接口
二、tomcat进行部署
放置war相关文件
将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,也可以修改为我们自己的数据库。
启动tomcat
访问说明
应用 | 说明 | 地址 | 默认用户名/密码 |
activiti-app | 在线流程设计发布应用 | http://localhost:8080/activiti-app | admin/test |
activiti-admin | 流程平台管理应用,用于查看流程平台运行详情 | http://localhost:8080/activiti-admin | admin/admin |
activiti-rest | rest-api接口应用 | http://localhost:8080/activiti-rest | kermit/kermit |
activiti-app:
这个应用包含流程建模和用户管理相关功能,activiti-app提供了一个bpmn的建模工具,可以将模型导出或者部署到activiti系统中。
默认有三个app:
Kickstart app:
包含四个功能,流程模型设计,表单设计,决策表设计,app管理
Task App:
提供一个简单到待办审批界面和流程发起界面。
Identity management:
用来管理用户和用户组。
三、流程设计
1.创建用户
例如:创建用户“张三” 密码 123456
创建成功后用户列表中存在
同样的方式我们创建了三个用户:
2.创建流程
点击create process
例如: 新增一个 请假流程
创建成功后,可绘制流程图
指定流程用户
设置流程用户
部门审核,我这边设置为 “张三” 与 “admin”
保存后可以看到
HR审核设置为 “李四” 与 “admin”
保存后可查看到此流程
3.创建应用
在 activiti-app 中,一个 App 可包含多个流程模型,因此在发布流程前,先新建一个 App并为其设置流程模型。点击 Apps 菜单,再点击“Creaea App”按钮,新建一个 App,该App就包含我们前面所设计的请假流程模型。
进入后可 修改 icon 和 主题, 也可选择刚刚创建的模型
保存后可见
4.发布流程:
返回首页可见到刚刚发布的
5.切换账号 模拟“请假申请”
6.启动流程:
可查看当前流程状态
当前所处环节
鼠标移动上去会显示处理人信息
7.模拟部门审批
登录“张三”的账号
点击claim 可进行任务领取
可点击complete, 完成审批
完成审批后,无任务存在了
查看processes信息
下一流程为HR审批
8.模拟HR审批
切换到“李四” 认领任务 并 审批完成
切换“joker”账户,查看会发现无进行中的流程
切换为all,会发现流程已结束了
四、本地化部署,更改数据源为mysql
解压activiti中的 三个 war文件
修改各个项目中配置的数据库连接信息
activiti-app:
修改 wars\activiti-app\WEB-INF\classes\META-INF\activiti-app\activiti-app.properties
我们可以看到默认使用的是默认的嵌入式H2数据库
我们可以更换为mysql
activiti-admin:
修改 \wars\activiti-admin\WEB-INF\classes\META-INF\activiti-admin\activiti-app.properties
activiti-rest:
修改 \wars\activiti-rest\WEB-INF\classes\db.properties
添加数据库驱动jar包
分别在三个应用/webapps/activiti-*/WEB-INF/lib目录下添加mysql-connector-java-8.0.13.jar
创建数据库:
我们根据三个应用自带的数据库名称建立同名数据库 分别建立 activitiadmin、activiti6ui、activitirest三个数据库
部署到tomcat
将三个解压后的文件移动到tomcat中
启动后出现报错信息
因为我本地其他数据库存在 此 表 ,所以会出现异常:
增加: nullCatalogMeansCurrent=true 解决
重新启动tomcat
启动成功后,三个数据库的基础表已生成