SSM+Activiti-5.15.1整合(一)
主要讲如何配置xml,然后写一个main方法测试是否成功
1、首先下载activiti5.15.1
activiti-5.15.1
2、刚开始我下载了一个Activiti-5.20.0的版本,测试的过程中,报错,查证之后,发现版本太高,改用5.15版本进行测试。
3、首先创建activiti的xml文件,spring-activiti.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
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.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!-- 配置流程引擎配置信息对象 -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"
p:dataSource-ref="dataSource"
p:transactionManager-ref="transactionManager"
p:databaseSchemaUpdate="true"
p:jobExecutorActivate="false"
p:databaseType="oracle"
p:activityFontName="宋体"
p:labelFontName="黑体"
p:xmlEncoding="utf-8"/>
<!-- 配置流程引擎 -->
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"
p:processEngineConfiguration-ref="processEngineConfiguration"/>
<!-- 创建activiti提供的各种服务 -->
<!-- 工作流仓储服务 -->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<!-- 工作流运行服务 -->
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<!-- 工作流任务服务-->
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<!-- 工作流历史数据服务-->
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<!-- 工作流管理服务-->
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
<bean id="formService" factory-bean="processEngine" factory-method="getFormService" />
<!-- 工作流唯一服务 -->
<!-- <bean id="IdentityService"factory-bean="processEngine"factory-method="getIdentityService"/> -->
</beans>
其中dataSource 是Spring配置好的数据源,transactionManager也是Spring配置好的数据管理器
4、在Spring的核心xml文件里面引用activiti配置文件
<!-- 导入activiti配置 -->
<import resource="spring-activiti.xml"/>
5、导入sql表(可以自己手动导入sql,也可以让程序自动执行建表的sql,这里我选择自己手动执行sql),查找sql文件所在的目录,我测试使用oracle数据库,所以选择oracle的三个sql文件,执行之后,建立了25张表
6、到这一步基本上已经把Spring和Activiti整合在一起了,然后写一个main方法测试一下。
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
/**
* 测试
* @version 1.0
*/
public class CreateDatabaseTest {
public static void main(String[] args) {
// 1.创建Activiti配置对象的实例
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
// 2.设置数据库连接信息
// 设置数据库的类型
configuration.setDatabaseType("oracle");
// 设置数据库驱动
configuration.setJdbcDriver("oracle.jdbc.OracleDriver");
// 设置jdbcURL
configuration.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:orcl");
// 设置用户名
configuration.setJdbcUsername("scott");
// 设置密码
configuration.setJdbcPassword("123456");
// 设置数据库建表策略
/**
* DB_SCHEMA_UPDATE_TRUE:如果不存在表就创建表,存在就直接使用
* DB_SCHEMA_UPDATE_FALSE:如果不存在表就抛出异常
* DB_SCHEMA_UPDATE_CREATE_DROP:每次都先删除表,再创建新的表
*/
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
// 3.使用配置对象创建流程引擎实例(检查数据库连接等环境信息是否正确)
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
}
控制台输出org.activiti.engine.impl.ProcessEngineImpl@4721ee77说明已经整合成功
后面具体的具体业务代码慢慢研究再说