一、Activiti工作demo支行
1.下载activiti-explorer.war
2.部署到tomact的webapps中
3.启动tomact,在浏览器地址中键入:http://localhost:8080/activiti-explorer,以用户名kermit密码kermit登录进去
如图:
二、初始化Activiti工作数据表
Activiti用来存放流程数据共使用23张表,表名都是"ACT_"开头,底层操作默认使用mybatis操作
工作流Activiti的表是使用用来存储流程数据的,而业务的数据需要用户自己创建和维护
在使用Activiti一定需要业务去关联流程。
1.使用代码创建Activiti工作流23张表
Java代码
/**使用代码创建工作流需要的23张表*/
@Test
public void createTable() {
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
//连接数据库的配置
//配置数据库驱动:对应不同数据库类型的驱动
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
//配置数据库的JDBC URL
processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8");
//配置连接数据库的用户名
processEngineConfiguration.setJdbcUsername("root");
//配置连接数据库的密码
processEngineConfiguration.setJdbcPassword("root");
/**
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);
//工作流的核心对象,ProcessEnginee对象
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}
2.使用配置文件创建工作流需要的23张表
伦理片 http://www.dotdy.com/
Java代码
/**使用配置文件创建工作流需要的23张表*/
@Test
public void createTable_2(){
ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
System.out.println("processEngine:"+processEngine);
}
activiti.cfg.xml(activiti的配置文件)
Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。
定义数据库配置参数:
l jdbcUrl: 数据库的JDBC URL。
l jdbcDriver: 对应不同数据库类型的驱动。
l jdbcUsername: 连接数据库的用户名。
l jdbcPassword: 连接数据库的密码。
基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数):
l jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。
l jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。
l jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 默认为20000(20秒)。
l jdbcMaxWaitTime: 这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为20000(20秒)。
示例数据库配置参数:
Xml代码
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">