activiti5.20简单介绍(十) -- spring和业务关联
来源:互联网 发布:淘宝商品链接怎么做 编辑:程序博客网 时间:2024/05/21 09:37
Activiti天生支持spring,所以与spring的集成是非常方便的。
1.依赖
<!-- spring-activiti集成 --><dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>${activiti.version}</version> </dependency>
Activiti与spring集成需要依赖activiti-spring的包
2.配置
Spring集成的核心配置类:org.activiti.spring.SpringProcessEngineConfiguration
<!-- spring配置 --><bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">数据源配置<property name="dataSource" ref="dataSource"></property>数据库连接信息<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"></property><property name="jdbcUsername" value="root"></property><property name="jdbcPassword" value="root123"></property>自动创建表<property name="databaseSchemaUpdate" value="true"></property>关闭JobExecutor的自动启动<property name="jobExecutorActivate" value="false"></property>配置自定义缓存<property name="processDefinitionCache"><bean class="com.vclouds.workflow.cache.MyCache" /></property></bean>
其他的配置与之前类似
3.创建引擎
与spring集成就需要使用spring来讲引擎创建出来。
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"><property name="processEngineConfiguration" ref="processEngineConfiguration" /></bean>
4.事务管理
与spring集成之后就必须使用事务管理,即必须配置事务,否则会出现数据无法提交的情况
<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean>
5.创建服务
利用工厂的方式创建各个服务类对象
利用工厂方式得到服务类对象<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" />
6.业务信息依托流程
业务信息需要通过流程进行一系列的操作,业务的一些信息需要在流程的运行过程中不断变动,不断更新,如果当前业务在流程中没有更新操作,那么这个业务信息就是一成不变的,就不是一个完整的业务信息,需要脱离流程进行操作,所以使用到流程的话需要将业务信息关联到流程。
7.流程关联业务信息
流程关联业务可以使用流程变量,在当前流程运行过程中,流程变量都可以获取,也就是在当前流程过程中,业务数据始终跟随,这样在做一些更新业务信息的操作就非常方便了。
当然,activiti也提供了一个关联业务的字段,在流程执行对象表中的BusinessKey列,使用这个字段,可以自定义规则将所需要的业务信息存放到当前字段,可以通过当前字段获得业务信息,也可以通过业务信息得到当前字段的值;
例如:Business类是业务类,其中id为主键,那么就可以将当前字段设置为Business:id,其中Business为当前业务类的simpleName,中间使用:分隔,id为业务主键,这样得到业务字段值的时候就可以查找业务信息,同时也可以通过字段值查询流程信息。
- activiti5.20简单介绍(十) -- spring和业务关联
- activiti5.20简单介绍(四) -- helloworld
- activiti5.20简单介绍(五) -- 配置
- activiti5.20简单介绍(六) -- 流程引擎和流程服务
- activiti5.20简单介绍(二) -- 流程文件
- activiti5.20简单介绍(三) -- 环境搭建,数据库表
- activiti5.20简单介绍(七) -- 流程操作
- activiti5.20简单介绍(八) -- 流程操作续
- activiti5.20简单介绍(九) -- 本地化查询
- activiti5.20简单介绍(八) -- 流程操作续
- Spring整合Activiti5.10完成一个简单的请假流程
- Activiti5 开发介绍1
- Activiti5 开发介绍1
- Hibernate一对一关联关系介绍和简单demo
- spring整合tiles3简单介绍和使用
- Spring缓存简单介绍(Spring Cache)
- Activiti5学习笔记(一)简单的预算审批
- Activiti5学习笔记(一)简单的预算审批
- java 序列化
- Redis(3.2.3)集群部署实战
- 13.Java的Volatile关键字
- GIMP 恢复默认界面
- JAVA与SQL 中的null与NULL
- activiti5.20简单介绍(十) -- spring和业务关联
- 【Codeforces 645E】【贪心】Intellectual Inquiry
- 页面置换算法
- YAML 语言教程
- lua4.0数值定义
- android studio eclipse转as
- stage3d 限制
- android2
- 详细图解如何注册 Navicat for Mysql 11.0.17 企业版(Win7 64bit)