一、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张表
?
/**使用代码创建工作流需要的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张表
?
/**使用配置文件创建工作流需要的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秒)。
??? 示例数据库配置参数:
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">
?
?
?
原文:http://profound-accumulation.iteye.com/blog/2244676