04 流程引擎配置与服务组件

目录

 

1. 流程引擎配置对象

1.1 创建流程银枪配置对象的方式

1.2 activiti.cfg.xml

2. 数据源配置

2.1 Activiti支持多种数据库,默认使用H2内存数据库

2.2 数据库策略

3. 其他属性配置

3.1 history属性

3.2 asyncExecutorActivate

3.3 邮件服务器

4. 服务组件

4.1. RepositoryService

4.2. RuntimeService

4.3. TaskService

4.4. IdentityService

4.5. ManagementService

4.6. HistoryService

4.7. DynamicBpmnService


1. 流程引擎配置对象

1.1 创建流程银枪配置对象的方式

最多使用的就是ProcessEngines.getDefaultProcessEngine(),他会自动在classpath中加载activiti.cfg.xml,初始化StandaloneProcessEngineConfiguration对象

//默认从classpath下activiti.cfg.xml加载信息用于构建流程引擎
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();

1.2 activiti.cfg.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	<!-- 流程引擎配置的bean -->
	<bean id="processEngineConfiguration"
		class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
		<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ACT?characterEncoding=utf-8" />
		<property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver" />
		<property name="jdbcUsername" value="kevin" />
		<property name="jdbcPassword" value="123456" />
		<property name="databaseSchemaUpdate" value="true" />
	</bean>
</beans>

2. 数据源配置

2.1 Activiti支持多种数据库,默认使用H2内存数据库

 

2.2 数据库策略

2.2.1 databaseSchemaUpdate的可选项

  1. true
  2. false
  3. create-drop
  4. drop-create

2.2.2 选项说明

false:流程引擎启动的时候就对比数据库中保存的版本,如果数据库中没有表,或者版本不匹配, 在启动的时候抛出异常

true:在启动时activiti会对数据库中所有的表进行更新,表不存在就创建

create-drop:流程引擎在启动的时候会执行数据库的创建,在执行engine.close()的时候把所有表删除

drop-create:先将原来的表全部删除再进行创建(不推介)

3. 其他属性配置

以下属性都是配置在<bean id="processEngineConfiguration" />的property中的

3.1 history属性

3.1.1 可选值

none:不保存任何的历史数据,因此在流程执行的过程中,最高效

activity:级别高于none,保存流程实例与流程行为,其他数据不保存

audit:处activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值

full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。

3.1.2 相关表

3.2 asyncExecutorActivate

3.3 邮件服务器

Activiti支持邮件服务,当流程执行到某一个节点时,Activiti会根据流程文件配置(Email Task),发送邮件到相应的邮箱。

邮件服务器的配置项:

  • mailServerHost:邮件服务器地址
  • mailServerPort:SMTP发送邮件服务器端口,默认值25
  • mailServerDefaultFrom:非必填,发送人的邮箱地址,默认值为activiti@activiti.org
  • mailServerUsername:邮箱登录用户名
  • mailServerPassword:邮箱登录密码
  • mailServerUseSSL:是否使用SSL协议通信,默认为false
  • mailServerUseTLS:是否使用TLS协议通信,默认为false

4. 服务组件

4.1. RepositoryService

提供一系列管理流程定义和流程部署的API

4.2. RuntimeService

在流程运行时对流程实例进行管理与控制

4.3. TaskService

对流程任务进行管理,如任务提醒、任务完成和创建任务等

4.4. IdentityService

提供对流程角色数据进行管理的API, 这些角色数据包括用户组、用户和它们之间的关系

4.5. ManagementService

提供对流程引擎进行管理和维护的服务

4.6. HistoryService

对流程的历史数据进行操作,包括查询、删除这些历史数据

4.7. DynamicBpmnService

使用该服务,可以不需要重新部署流程模型,就可以实现对流程模型的部分修改 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值