@ruoli
2016-08-22T01:47:11.000000Z
字数 4558
阅读 2362
Activiti
pom.xml文件参考如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>activitiSpring</groupId><artifactId>activitiSpring</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>activitiSpring</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>5.15.1</version></dependency><!-- activiti 与 Spring 集成 --><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring</artifactId><version>5.15.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency></dependencies></project>
将此配置文件放置在资源根目录下,文件内容参考如下:
<?xml version="1.0" encoding="UTF-8"?><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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"><bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://127.0.0.1:3306/test" /><property name="username" value="root" /><property name="password" value="root" /></bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"><property name="dataSource" ref="dataSource" /><property name="transactionManager" ref="transactionManager" /><property name="databaseSchemaUpdate" value="true" /><property name="mailServerHost" value="localhost" /><property name="mailServerPort" value="5025" /><property name="jpaHandleTransaction" value="true" /><property name="jpaCloseEntityManager" value="true" /><property name="jobExecutorActivate" value="false" /></bean><bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"><property name="processEngineConfiguration" ref="processEngineConfiguration" /></bean><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" /></beans>
package test;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.repository.ProcessDefinition;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;public class ActivitiSpringTest {@Testpublic void test(){ApplicationContext ac = new FileSystemXmlApplicationContext("classpath*:spring-context-activiti.xml");ProcessEngine processEngine=(ProcessEngine)ac.getBean("processEngine");List<ProcessDefinition> list = processEngine.getRepositoryService().createProcessDefinitionQuery().list();if(list!=null && list.size()>0){for(ProcessDefinition pd:list){System.out.println("流程定义的名称:"+pd.getName());}}}}
如能正常获取对象并输出结果,则说明环境配置正确。
前面三步完成之后,需要将spring-context-activiti.xml文件在项目中进行配置和引入,在web.xml中进行如下配置:
<context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/spring-context-activiti.xml.xml</param-value></context-param>
此步骤依赖于项目已经有了Spring环境,将Activiti各核心对象交由Spring进行管理,上述配置完成后,即可在 Spring配置的Controller或Service中使用 @Autowired 注解注入Activiti对象。
如下:
@Autowiredprivate ProcessEngineFactoryBean processEngine;