Spring和activiti进行整合过程解析

网友投稿 646 2023-06-20

Spring和activiti进行整合过程解析

Spring和activiti进行整合过程解析

一、整合原理

activiti的配置文件本身就是一个sprTuBdcUing的配置文件,但默认情况下只讲ProcessEngineConfiguration作为一个bean来使用,调用ProcessEngines.getDefaultProcessEngine()加载的就是配置文件中的这个bean。和spring整合后就可以把bean的管理让spring来进行,在代码中获取任意的bean。

activiti提供了一个spring模块,在一个spring工程中引入这个模块就能够整合

org.activiti

activiti-spring

5.22.0

并且引入这个依赖后就不需要再单独引入activiti的依赖了,这里边已经包含了

二、整合步骤

2.1 新建一个maven工程并导入相关依赖

org.springframework

spring-context

5.0.2.RELEASE

org.activiti

activiti-spring

5.22.0

mysql

mysql-connector-java

5.1.26

c3p0

c3p0

0.9.1.2

jar

compile

commons-io

commons-io

2.4

junit

junit

4.12

这里导入了spring,activiti,数据库驱动等依赖。

2.2 创建spring配置文件

在resources目录下创建spring配置文件,applicationContext.xml,其中主要配置如下bean

(1)数据源(连接池)

(2)事务管理器(和spring整合后必须配置事务管理器)

(3)流程引擎配置对象,这里可以注入一些流程引擎的配置

(4)流程引擎对象

(5)activiti的服务组件,配置后在程序中可以直接从容器中获取

完整的配置文件如下

xmlns:context="http://springframework.org/schema/context"

xmlns:tx="http://springframework.org/schema/tx"

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/context http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-3.0.xsd">

<!-- 配置连接池 -->

class="org.activiti.spring.SpringProcessEngineConfiguration">

xmlns:context="http://springframework.org/schema/context"

xmlns:tx="http://springframework.org/schema/tx"

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/context http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-3.0.xsd">

<!-- 配置连接池 -->

class="org.activiti.spring.SpringProcessEngineConfiguration">

class="org.activiti.spring.SpringProcessEngineConfiguration">

三、测试

在代码中加载spring配置文件,并直接从容器里获取服务组件,看能否直接使用服务组件

@Test

public void test4() {

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

//通过容器获取taskService组件

TaskService taskService= (TaskService) context.getBean("taskService");

System.out.println(taskService);

List list = taskService.createTaskQuery().taskAssignee("tom").list();

for (Task task : list) {

System.out.println(task);

}

}

如果能够成功运行,说明activiti和spring已经整合完成了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Activiti开发环境的搭建过程详解
下一篇:Activiti explorer.war示例工程使用过程图解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~