1.通过代码创建工作流使用的表
public class TestActiviti {
/**
* 初始化流程引擎,生成23张表
*/
@Test
public void createTable(){
//1.创建一个流程引擎配置对象,基于静态工厂的方式创建
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//2.配置数据源的信息
configuration.setJdbcDriver("com.mysql.jdbc.Driver");
configuration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti");
configuration.setJdbcUsername("root");
configuration.setJdbcPassword("root");
//3.配置生成表的策略
//不自动创建表,需要表存在 DB_SCHEMA_UPDATE_FALSE = "false";
//先删除表,再创建表 DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";
//如果表不存在,先创建表 DB_SCHEMA_UPDATE_TRUE = "true";
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//4.基于流程配置来创建流程引擎
ProcessEngine processEngine = configuration.buildProcessEngine();
//5.输出流程引擎的基本信息
System.out.println(processEngine);
}
}
2.通过配置文件方式配置数据库等,resourses目录下添加activiti.cfg.xml配置文件,再通过代码初始化工作流使用的表
activiti.cfg.xml
<beans xmlns="http://www.springframework.org/schema/beans"
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">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 连接数据的配置 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?characterEncoding=utf8"/>
<property name="jdbcUsername" value="root"/>
<property name="jdbcPassword" value="root"/>
<!-- 不自动创建表,需要表存在 "false";
先删除表,再创建表 "create-drop";
如果表不存在,先创建表"true";
-->
<property name="databaseSchemaUpdate" value="true"/>
</bean>
</beans>
@Test
public void createTable2(){
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
}
前面看到了两种创建ProcessEngine(流程引擎)的方式,而这里要简化很多,调用ProcessEngines的getDefaultProceeEngine
方法时会自动加载classpath下名为activiti.cfg.xml文件
@Test
public void createTable3(){
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
}