Tema (9) "Activiti Workflow Framework" -Activiti Workflow Framework-Integración de Spring

1. Introducción

Aunque podemos crear manualmente las instancias de API correspondientes en el ejemplo anterior, todas estas API deberían existir en forma de singleton en un proyecto. La integración con Spring es principalmente para entregar los principales objetos de Activiti al contenedor Spring para su gestión.

2. Cree db.properties

dbcUrl=jdbc:mysql://localhost:3306/activitidb?useUnicode=true&characterEncoding=utf8
driverClass=com.mysql.jdbc.Driver
user=root
password=123
initialPoolSize=10
maxPoolSize=30

3.applicationContext.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:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
      http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">


	<!-- 1.加载jdbc属性文件 -->
	<context:property-placeholder location="classpath:db.properties" />
	
	<!-- 2.数据源 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${jdbcUrl}" />
		<property name="driverClass" value="${driverClass}" />
		<property name="user" value="${user}" />
		<property name="password" value="${password}" />
		<property name="initialPoolSize" value="${initialPoolSize}" />
		<property name="maxPoolSize" value="${maxPoolSize}" />
	</bean>

	<!-- 事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 配置一个spring提供的对象,用于创建一个流程引擎配置对象 -->
	<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
		<property name="transactionManager" ref="transactionManager" />
		<property name="dataSource" ref="dataSource" />
		<property name="databaseSchemaUpdate" value="true" />
	</bean>

	<!-- 创建流程引擎对象 -->
	<bean id="pe" class="org.activiti.spring.ProcessEngineFactoryBean">
		<property name="processEngineConfiguration" ref="processEngineConfiguration" />
	</bean>

</beans>

<!-- c3p0数据源 -->
<dependency>
	<groupId>com.mchange</groupId>
	<artifactId>c3p0</artifactId>
	<version>0.9.5-pre10</version>
</dependency>

4. Pruebas

public class TestSpring {
    
    

	@Test
	public void test1() {
    
    
		ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
		ProcessEngine pe = (ProcessEngine) ctx.getBean("pe");
		System.out.println(pe);
	}
}

Supongo que te gusta

Origin blog.csdn.net/BruceLiu_code/article/details/113644484
Recomendado
Clasificación