环境配置
1.所需环境:
1.1 eclipse(JEE)
链接:https://pan.baidu.com/s/12qbX4vafyG-FkWB3Oi4ewA
提取码:eqvz
复制这段内容后打开百度网盘手机App,操作更方便哦
1.2 Activiti插件(5.18)
链接:https://pan.baidu.com/s/1Hk_2ZnDzmetJf89FqigUnA
提取码:75v2
复制这段内容后打开百度网盘手机App,操作更方便哦
1.3 Activiti (6.0)
链接:https://pan.baidu.com/s/1nCTqJ1igWYt9MhsBHv7zYg
提取码:jhqs
复制这段内容后打开百度网盘手机App,操作更方便哦
1.4 Tomcat
链接:https://pan.baidu.com/s/1m1-FVVs8MwADmnxT_7km8w
提取码:jo7b
复制这段内容后打开百度网盘手机App,操作更方便哦
1.5 MySql(连接中包括MySql Workbench)
链接:https://pan.baidu.com/s/1OrAql4ZiUDlEUW1rD9u-iQ
提取码:8s40
复制这段内容后打开百度网盘手机App,操作更方便哦
mysql各个版本驱动jar包
http://central.maven.org/maven2/mysql/mysql-connector-java/
2.配置步骤
2.1 将Activiti插件包里的文件放在eclipse -> dropins 文件夹下
2.2 在eclipse中安装Activiti插件(Location为Activiti插件包的存放位置-》将其打包存放时,添加其压缩包路径)
Help -> install new software ->add
2.3 在eclipse中新建Activiti项目,项目文件列表如下:
将perspective切换为java EE后,项目结构如下:(Maven结构)
2.4 添加Activiti的jar包
2.4.1 在项目根目录下新建lib文件夹,将activiti -> wars -> activiti rest -> WEB_INF ->lib下所有包都添加到lib文件夹中
2.4 .2 如果使用的数据库为mysql,mysql数据库的连接驱动Activiti官方包中并没有提供,因此需要手动导入mysql-connector-java.jar,添加到lib文件夹中
2.4.3 为lib中的所有包build path:选中所有包 -> 右击 ->build path -> configure build path
3.数据库连接配置
方法一:使用代码段创建工作流需要的23张表
/**使用代码段创建工作流需要的23张表*/
@Test
public void creatTable() {
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//连接数据库配置
processEngineConfiguration.setJdbcDriver("com.mysql.cj.jdbc.Driver"); //在MySql较新的版本中,需要写com.mysql.cj.jdbc.Driver
processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/process-1?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC");
processEngineConfiguration.setJdbcUsername("root"); //数据库登录账号
processEngineConfiguration.setJdbcPassword("password"); //数据库登录密码
/**
public static final String DB_SCHEMA_UPDATE_FALSE = "false"; //不能自动创建表,需要表存在
public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop"; //先删除表,再创建表
public static final String DB_SCHEMA_UPDATE_TRUE = "true"; //如果表不存在,则创建表
*/
processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//工作流的核心对象:ProcessEngineConfiguration
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}
加载Activiti引擎源码包时:
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
点击createStandaloneProcessEngineConfiguration()加载activiti引擎源码包
方法二:使用配置文件创建工作流需要的23张表
新建activiti.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/process-1?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="password"></property>
<!-- 没有表则创建表 -->
<property name="databaseSchemaUpdate" value="root"></property>
</bean>
</beans>
/**使用配置文件创建工作流需要的23张表*/
@Test
public void creatTable_2() {
ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}
执行完后,在数据库中创建如下23张表:
以下是经常会用到的表:
act_re_deployment #部署对象表
act_re_prodef #流程定义表
act_ge_bytearray #资源文件表
act_ge_property #主键生成策略表
act_ru_execution #正在执行的执行对象表
act_hi_procinst #流程实例的历史表
act_ru_task #正在执行的任务表(只有节点是UserTask时,该表中才有数据)
act_hi_taskinst #任务历史表(只有节点是UserTask时,该表中才有数据)
act_hi_actinst #所有活动节点的历史表
act_ru_variable #正在执行的流程变量表
act_hi_varinst #历史的流程变量表
act_ru_identitylink #任务办理人表(个人任务、组任务)
act_hi_identitylink #历史任务办理人表