Activiti流程引擎_activiti工作流原理

Activiti流程引擎_activiti工作流原理Activiti框架提供的流程引擎配置类ProcessEngineConfiguration的类图如下:下面的图是流程引擎的架构图:由上图我们可以很清楚地从全局角度了解ProcessEngineConfiguration类:1)EngineServices:该接口中定义了获取各种服务类实例对象的方法。2)ProcessEngine:继承EngineServices接口,并增…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Activiti框架提供的流程引擎配置类ProcessEngineConfiguration的类图如下:

Activiti流程引擎_activiti工作流原理

下面的图是流程引擎的架构图:

Activiti流程引擎_activiti工作流原理

由上图我们可以很清楚地从全局角度了解ProcessEngineConfiguration类:

1)EngineServices:该接口中定义了获取各种服务类实例对象的方法。

2)ProcessEngine:继承EngineServices接口,并增加了对流程引擎名称的获取以及关闭流程引擎的支持。

3)ProcessEngineImpl: 是引擎默认的实现类,对ProcessEngine接口中定义的方法进行实现,对外提供服务。实际上,这些对外提供的服务是由 ProcessEngineConfigurationImpl 构造的,ProcessEngineImpl 调用 ProcessEngineConfigurationImpl 的方法获得服务。

4)ProcessEngines:该类负责管理所有的流程引擎ProcessEngine集合,并负责流程引擎实例对象的注册、获取、注销等操作。

5)ProcessEngineConfiguration:该抽象类实现EngineServices接口,提供了一系列创建流程引擎配置类ProcessEngineConfiguration实例对象的方法。

6)ProcessEngineConfigurationImpl:该抽象类继承ProcessEngineConfiguration,负责创建一系列服务类实例对象、流程引擎实例对象以及ProcessEngineImpl类实例对象。该类可以通过流程配置文件交给Spring容器管理或者使用编程方式动态构建。

7)SpringProcessEngineConfiguration:主要用于整合Spring框架时使用,提供了几个重要功能:创建流程引擎实例对象,流程引擎启动之后自动部署配置的流程文档(需要设置),设置流程引擎连接的数据源、事务管理器等。

8)StandaloneProcessEngineConfiguration:标准的流程引擎配置类。

9)MultiSchemaMultiTenantProcessEngineConfiguration:“多数据库多租户”流程引擎配置类,Activiti通过此类为开发人员提供了自动路由机制,这样当流程引擎需要连接多个数据库进行操作时,客户端无须关心引擎到底连接的是哪一个数据库,该类通过路由规则自动选择需要操作的数据库,数据库的操作对客户端来说是透明的,客户端无须关心其内部路由实现机制。

10)JtaProcessEngineConfiguration:顾名思义,通过类名也知道该类支持JTA。

11)StandaloneInMemProcessEngineConfiguration:该类通常可以在开发环境中自测使用,默认采用H2数据库存储数据。

12)EngineServices提供的服务类如下:

service接口 作用
RepositoryService 流程仓库service,用于管理流程仓库,如部署、删除、读取流程资源
IdentityService 身份service,可以管理和查询用户、组之间的关系
RuntimeService 运行时service,处理所有正在运行状态的流程实例、任务等
TaskService 任务service,用于管理、查询任务,如签收、办理、指派等
FormSerivice 表单service,用于读取和流程、任务相关的表单数据
HistoryService 历史service,可以查询所有历史数据,如流程实例、任务、活动、附件等
ManagementService 引擎管理service,和具体业务无关,主要用于查询引擎配置、数据库、作业等

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179899.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月20日 下午2:16
下一篇 2022年10月20日 下午2:16


相关推荐

  • vue过滤器

    vue过滤器过滤器用于进行文本内容格式化处理 过滤器可以在插值表达式和 v bind 中使用 过滤器 全局过滤器 局部过滤器全局过滤器 可以将一个数据传入到多个过滤器中进行处理 一个过滤器可以传入多个参数 局部过滤器 局部过滤器只能在当前 Vue 实例中使用

    2026年3月19日
    2
  • JavaScript getElementById()方法介绍

    JavaScript getElementById()方法介绍getElementById()根据元素的id属性获取一个元素节点对象getElementById()可以根据元素的id属性获取一个元素节点对象,该方法所有浏览器均可使用返回带有指定ID的元素,如下图:我们可以通过innerHTML属性(获取或者设置元素的内容(包含HTML标签解析)),如下图:我们可以通过innerText属性(获取或者设置元素的内容…

    2022年7月15日
    20
  • 戴尔r740服务器重装系统_戴尔r740安装server2016

    戴尔r740服务器重装系统_戴尔r740安装server2016RAID配置:1.开机F2进入bios2.选择devicesetting3.IntegratedRaidcontroller1xxxxxx(raid卡型号)一般是第一行4.选择MainMenu5.ConfigurationManagement6.选择CreateVirtualDisk7.Raid级别,之后点击selectphysicalDisks8.根据硬盘类型接口选择硬盘,选择硬盘后应用applychanges9.此处可以设定

    2022年10月5日
    4
  • Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念[通俗易懂]

    Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念[通俗易懂]Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念

    2022年4月23日
    47
  • 腾讯云 Ubuntu16.04.1 允许 root 用户 SSH登录 修改 sshd_config PermitRootLogin 后登录失败[通俗易懂]

    腾讯云 Ubuntu16.04.1 允许 root 用户 SSH登录 修改 sshd_config PermitRootLogin 后登录失败[通俗易懂]腾讯云Ubuntu16.04.1允许root用户SSH登录修改sshd_configPermitRootLogin后登录失败今天重装了吃灰很久的服务器,选择的是Ubuntu,腾讯云默认会创建名为ubuntu的用户用于ssh登录。ubuntu执行某些命令时权限不够需要加sudo,我超级不喜欢输入命令行时加上sudo的╰(‵□′)╯。解决

    2022年5月29日
    51
  • cad怎样生成轮廓线(图样中可见轮廓线用什么线)

    一般在做影像处理时,为提升效率,常会将影像转为二值影像后再进行处理。在EmguCV内有许多找轮廓线的方法,但是随着版本更新,不同版本的函数不见得会一样,每次都要重新查询实在很麻烦,那不如把他们记下来。版本概要:EmguCV版本:3.2.0.2682编译器版本:VisualStudio2017Community方案平台:x64(许多导致程式无法执行的原因是因为没有改执

    2022年4月14日
    208

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号