一、概述
最近做一个项目用到了审批流,在网上找了一下,activity还是比较好用,对其简单整理,主要内容包括组件引入,审批流创建,代码开发等功能
二、引入Activity
通过gradle和maven都可引入activity,gradle的引入方式如下:
implementation("org.activiti:activiti-engine:7.1.0.M6")
implementation("org.activiti:activiti-spring:7.1.0.M6")
即使用其7.1.0.M6版本,通过maven的方式如下:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>7.1.0.M6</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>7.1.0.M6</version>
</dependency>
只要依赖能下载下来,则引入就是成功的
三、创建流程文件
我们首先要创建一个流程文件,才能在后续的过程中使用这个文件,actiivity7据说是有一个在线的工具,不过不是太会用,这里使用的是eclipse的插件,要注意的是eclipse不能使用最新版本,根据官方的介绍,kepler 版本是可以的,这个不做过多介绍,eclipse的插件虽然已经不再维护了,但老版本也还是可以使用的,其效果如下:
对于每个任务节点来说,可以在Main config里配置审批人变量,在创建流程时对变量设置值。
四、创建流程表并初始化流程
actiivity的数据也是通过表来存储的,所以使用之前还需要建表,当然这个要先进行数据源配置,actiity的配置文件默认为actiity.cfg.xml,示例配置如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="${yourJdbcUrl}" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="${yourUsername}" />
<property name="jdbcPassword" value="${yourPassword}" />
<property name="databaseSchemaUpdate" value="true" />
<property name="asyncExecutorActivate" value="false" />
</bean>
</beans>
系统初始化的时候,要先进行建表,示例代码如下:
public class ActivityConnectionDB {
public static void main(String args[]){
//获取流程引擎配置
ProcessEngineConfiguration pec = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//设置自动创建表和更新表
pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHE