activiti流程引擎配置类

1.流程引擎配置类

流程引擎的配置类:ProcessEngineConfiguration,通过ProcessEngineConfiguration可以创建工作流引擎ProcessEngine,常用的两种方法如下:

1.1StandaloneProcessEngineConfiguration

使用StandaloneProcessEngineConfigurationActiviti可以单独运行,来创建ProcessEngine,Activiti会自己处理事务。

配置文件方式:通常在activiti.cfg.xml配置文件中定义一个id为processEngineConfiguration的bean

如:

<bean id="processEngineConfiguration"class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><!--配置数据库相关的信息--><!--数据库驱动--><property name="jdbcDriver" value="com.mysql.jdbc.Driver"/><!--数据库链接--><property name="jdbcUrl" value="jdbc:mysql:///activiti"/><!--数据库用户名--><property name="jdbcUsername" value="root"/><!--数据库密码--><property name="jdbcPassword" value="root"/><!--actviti数据库表在生成时的策略  true - 如果数据库中已经存在相应的表,那么直接使用,如果不存在,那么会创建--><property name="databaseSchemaUpdate" value="true"/></bean>

或者加入连接池的方式:

<?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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/contex
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/activiti"/><property name="username" value="root"/><property name="password" value="root"/><property name="maxActive" value="3"/><property name="maxIdle" value="1"/></bean><!--在默认方式下 bean的id  固定为 processEngineConfiguration--><bean id="processEngineConfiguration"class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><!--引入上面配置好的 链接池--><property name="dataSource" ref="dataSource"/><!--actviti数据库表在生成时的策略  true - 如果数据库中已经存在相应的表,那么直接使用,如果不存在,那么会创建--><property name="databaseSchemaUpdate" value="true"/></bean>
</beans>

1.2.SpringProcessEngineConfiguration

通过org.activiti.spring.SpringProcessEngineConfiguration与spring整合

创建spring与activiti的整合配置文件:

activiti-spring.cfg.xml(名字可更改)

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd "><!-- 工作流引擎配置bean --><bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"><!-- 数据源 --><property name="dataSource" ref="dataSource" /><!-- 使用spring事务管理器 --><property name="transactionManager" ref="transactionManager" /><!-- 数据库策略 --><property name="databaseSchemaUpdate" value="drop-create" /><!-- activiti的定时任务关闭 --><property name="jobExecutorActivate" value="false" /></bean><!-- 流程引擎 --><bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"><property name="processEngineConfiguration" ref="processEngineConfiguration" /></bean><!-- 资源服务service --><bean id="repositoryService" factory-bean="processEngine"factory-method="getRepositoryService" /><!-- 流程运行service --><bean id="runtimeService" factory-bean="processEngine"factory-method="getRuntimeService" /><!-- 任务管理service --><bean id="taskService" factory-bean="processEngine"factory-method="getTaskService" /><!-- 历史管理service --><bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /><!-- 用户管理service --><bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /><!-- 引擎管理service --><bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /><!-- 数据源 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/activiti" /><property name="username" value="root" /><property name="password" value="mysql" /><property name="maxActive" value="3" /><property name="maxIdle" value="1" /></bean><!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes></tx:attributes><!-- 传播行为 --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><!-- 切面,根据具体项目修改切点配置 --><aop:config proxy-target-class="true"><aop:advisor advice-ref="txAdvice"  pointcut="execution(* com.itheima.ihrm.service.impl.*.(..))"* /></aop:config>
</beans>

2.创建processEngineConfiguration

方法一:要求activiti.cfg.xml中必须有一个processEngineConfiguration的bean

ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")

方法二:可以更改bean名称

ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource, String beanName);

3.创建工作流引擎processEngine

工作流引擎:ProcessEngine,相当于一个门面接口,通过ProcessEngineConfiguration创建ProcessEngine,然后通过ProcessEngine来创建各个service接口

3.1默认创建方式

在固定的路径resource下创建配置文件activiti.cfg.xml,xml文件有processEngineConfiguration的配置,然后使用下面的代码创建processEngine:

//直接使用工具类 ProcessEngines,使用classpath下的activiti.cfg.xml中的配置创建processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println(processEngine);

3.2一般创建方式

//先构建ProcessEngineConfiguration
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
//通过ProcessEngineConfiguration创建ProcessEngine,此时会创建数据库
ProcessEngine processEngine = configuration.buildProcessEngine();

4.Service服务接口

Service是工作流引擎提供用于进行工作流部署、执行、管理的服务接口,使用这些服务类就可以操作服务对应的数据表

4.1Service创建方式

通过ProcessEngine创建Service

RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();

4.2Service总览

service名称 service作用
RepositoryService activiti的资源管理类
RuntimeService activiti的流程运行管理类
TaskService activiti的任务管理类
HistoryService activiti的历史管理类
ManagerService activiti的引擎管理类

【activiti】activiti流程引擎配置类相关推荐

  1. 关于自学activiti开源流程引擎的一点点感悟和代码分享demo教程

    原文:关于自学activiti开源流程引擎的一点点感悟和代码分享demo教程 源代码下载地址:http://www.zuidaima.com/share/1765650437721088.htm 这应 ...

  2. 德玛西亚之WorkFlow(三)流程引擎配置与服务组件

    德玛西亚之WorkFlow(三)流程引擎配置与服务组件 1 配置文件 1.1 默认配置文件 工作流引擎默认会加载ClassPath路径下的 activiti.cfg.xml 文件.这样并不实用使用 s ...

  3. 流程引擎之Activiti简介

    背景 Activiti 是一个开源架构的工作流引擎,基于 bpmn2.0 标准进行流程定义,其前身是 jBPM,Activiti 相对于 jBPM 更轻量,更易上手,且天然集成了 Spring.201 ...

  4. java 流程引擎_Activiti流程引擎对象及配置原理解析

    流程引擎对象和其配置对象都是activiti的核心对象 一.activiti的简单使用流程 activiti在工作时,一般有以下几个步骤: 创建一个流程引擎配置对象ProcessEngineConfi ...

  5. flowable流程引擎

    Flowable流程引擎 一.流程引擎API和服务 引擎 API 是与 Flowable 交互的最常见方式.主要起点是 ProcessEngine,它可以通过多种方式创建,如配置部分所述.从 Proc ...

  6. Activiti的引擎与引擎配置对象

    1. 引擎配置对象ProcessEngineConfiguration 引擎配置是配置Activiti的第一步,无论你使用Standalone还是Spring管理引擎都可以在配置文件中配置参数,虽然目 ...

  7. Activiti 快速入门教程:SpringBoot 集成 Activiti6 + Activiti Modeler 流程配置可视化

    Activiti 快速入门教程:SpringBoot 集成 Activiti6 + Activiti Modeler 流程配置可视化 7大服务与核心表 23张表概览 7大核心服务(重要) 加依赖 内部 ...

  8. 流程引擎课堂(一)| 关于开源流程引擎Activiti 的需要注意的几点

    编者按:流程引擎在各个行业都有应用,其重要性不言而喻,充分了解流程引擎是一项重要课题.本文详细介绍了开源流程引擎Activiti 的优点与局限性,为流程引擎的选型提出了参考性建议. 基础概念 首先,我 ...

  9. Activiti——工作流程-核心API(二)

    .1 ProcessEngine 说明: 1) 在Activiti中最核心的类,其他的类都是由他而来. 2) 产生方式: 在前面看到了两种创建ProcessEngine(流程引擎)的方式(http:/ ...

最新文章

  1. 包+类导入+静态导入+类放入包中+包作用域
  2. Oracle OCM 认证指南
  3. 数学很枯燥?原来数学中竟然还有这样的定理!
  4. python3.4和3.6的区别_详解Python3.6正式版新特性
  5. C#LeetCode刷题之#225-用队列实现栈(Implement Stack using Queues)
  6. 马斯克挽尊,回应为何电动皮卡车窗玻璃怼不过钢球...
  7. python好用的模块_python常用的内置模块和常用的第三方模块
  8. 25.212---复用和信道编码
  9. Java性能优化全攻略
  10. r语言和python语法对比_R语言和Python区别对比,你会选择哪一个?
  11. Python入门学习二:列表
  12. 解决minicom串口被锁Device /dev/ttyS? is locked
  13. 雷军带出来的软件,阿里奖励20万,全靠友商衬托,和wps同步普及
  14. Android 中设置指定语言
  15. python ogr_解决python ogr shp字段写入中文乱码的问题
  16. signature=efdb5ad90eeeea3f87ec2e1a04449071,Zastosowanie komórek macierzystych w leczeniu cukrzycy
  17. 【问题】win10系统IE或Edge访问网页未响应或卡死
  18. 基础SQL Server 操作问题——对象‘主键’依赖于列‘ID’/标识列‘ID’的数据类型必须是int,bigint,smallint等
  19. Fluka软件Flair中compile无法编译的问题解决
  20. zynq7 双核处理器的最简单例子

热门文章

  1. 交流微电网仿真模型(包含PCS)【含个人笔记+建模过程】
  2. DirectX9 SDK Samples(26) PixelMotionBlur Sample
  3. python3.8.2_Python|Python 3.8.2 32/64bit 官方版 - 零七软件
  4. 错误: 找不到或无法加载主类 org.wcy.Application
  5. 无法访问 F:\。文件或目录损坏且无法读取。
  6. 2012互联网趋势报告详览:互联网女皇眼中的移动互联网
  7. 怎么做一个分分钟哄女朋友开心的小程序
  8. LTDC-DMA2D液晶显示原理(一)
  9. tp6 项目的创建与多应用
  10. VS2017启动速度优化方法