关于activiti的介绍大家可以百度了解下(以后有时间在进行介绍)
一、大家先安装学习activiti所需要的环境
给大家推荐一篇博客 https://blog.csdn.net/phone13144830339/article/details/79704230#comments
大家可以按照上面的博客进行安装
二、安装完毕后去activiti官网下载所需要的jar包
activiti官网下载:https://www.activiti.org/get-started 我们使用activiti5.x的
下载好解压 进入解压目录并解压activiti-rest.war (解压war包的方式不会的小伙伴可以自行百度 我是使用tomcat进行解压的
将war包放入webapps下启动tomcat)
解压完war包后 你在WEB-INF下的lib目录下看到一堆jar包 (后面要用到)
三。创建activiti流程所需要的表(25张)======》有两种创建方式
创建activiti项目
在项目下创建一个lib目录 将activiti-rest.war包解压后的的WEB-INF下的lib目录下的jar包放入其中(上面提到过的)
将连接对应数据库的jar包也放入其中,不然会报错(我使用的是mysql数据库5.1.26有需要的可以进行下载)
链接:https://pan.baidu.com/s/1Dr_aHcaRsYJGMQ2SkTBAWg
提取码:mo8k
将其全部选中
有两种方法进行创建activiti的流程表
1.这时可以进行编写java代码进行数据库包的创建
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;
public class TestActiviti {
/**
*
*/
@Test
public void createTable(){
ProcessEngineConfiguration createStandaloneProcessEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//创建数据库的连接
createStandaloneProcessEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
createStandaloneProcessEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8");
createStandaloneProcessEngineConfiguration.setJdbcUsername("账号");
createStandaloneProcessEngineConfiguration.setJdbcPassword("密码");
/**
* 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";表不存在 自动创建表
*/
createStandaloneProcessEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//创建工作流核心对象 工作流引擎(ProcessEngine)对象
ProcessEngine buildProcessEngine = createStandaloneProcessEngineConfiguration.buildProcessEngine();
System.out.println(buildProcessEngine);
}
}
等待创建表
创建完毕 查看数据库(每张表的职责大家可以百度一下)
2.通过配置文件进行创建表
在resources下创建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.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8"></property><!-- amp是用来转义的 -->
<property name="jdbcUsername" value="账号"></property>
<property name="jdbcPassword" value="密码"></property>
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans>
properties文件去除警告
log4j.rootLogger=INFO, CA
# ConsoleAppender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
java代码
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;
public class TestActiviti {
@Test
public void createTable2(){
ProcessEngineConfiguration createProcessEngineConfigurationFromResource = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
//创建工作流核心对象 工作流引擎(ProcessEngine)对象
ProcessEngine buildProcessEngine = createProcessEngineConfigurationFromResource.buildProcessEngine();
System.out.println(buildProcessEngine);
}
}
控制台警告去除
SELECT * FROM `act_re_procdef` #流程定义表
SELECT * FROM `act_re_deployment` #部署对象表
SELECT * FROM `act_ge_bytearray` #资源文件表
#流程实例 执行对象 任务
SELECT * FROM `act_ru_execution` #正在执行的对象表
SELECT * FROM `act_hi_procinst` #流程实例历史表
SELECT * FROM `act_ru_task` #正在执行的任务表(只有节点是UserTask的时候,该表中存在数据)
SELECT * FROM `act_hi_taskinst` #任务历史表
SELECT * FROM `act_hi_actinst` #所有活动节点的历史表
#流程变量
SELECT * FROM `act_ru_variable` #正在执行的流程变量
SELECT * FROM `act_hi_varinst` #历史的流程变量