1、添加jar包
在activiti-5.13 -> wars 目录下 解压 activiti-rest.war ,导入WEB-INF\lib下所有包添加到classpath中。 由于使用的是Oracle数据库,还需手动导入ojdbc14.jar 添加到classpath下
2、初始化数据库(使用代码)
@Test
public void createTable(){
//创建Activiti配置对象的实例
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
configuration.setJdbcDriver("oracle.jdbc.driver.OracleDriver"); //数据库驱动
configuration.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:orcl"); //数据库地址
configuration.setJdbcUsername("activiti"); //用户名
configuration.setJdbcPassword("activiti"); //密码
configuration.setDatabaseSchema("ACTIVITI");
/**
* 设置流程引擎启动和关闭时如何处理数据库表。
*
* false(默认):检查数据库表的版本和依赖库的版本, 如果版本不匹配就抛出异常。
* true: 构建流程引擎时,执行检查,如果需要就执行更新。 如果表不存在,就创建。
* create-drop: 构建流程引擎时创建数据库表, 关闭流程引擎时删除这些表。
*/
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println("23张表创建成功:processEngine: " + processEngine);
}
configuration.setDatabaseSchema(“ACTIVITI”) 详见 Activiti 配置Oracle不能自动创建表解决方法 使用jUnit测试,Run As -> Junit Test 查看数据库 Activiti 23张表初始化完成
3、使用配置文件创建工作流表
src下新建 activiti-context.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="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<property name="jdbcUsername" value="activiti"></property>
<property name="jdbcPassword" value="activiti"></property>
<property name="databaseSchema" value="ACTIVITI"></property>
<!-- 如果表不存在 自动创建(数据库更新) -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans>
Java代码如下:
@Test
public void createTable_2() {
// 加载classpath下名为activiti.cfg.xml文件,创建核心流程引擎对象
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println("23张表创建成功:processEngine: " + processEngine);
}