首页 > 其他分享 >Activiti7 基础篇 工作流引擎创建及Servcie服务接口

Activiti7 基础篇 工作流引擎创建及Servcie服务接口

时间:2023-03-19 22:02:49浏览次数:53  
标签:引擎 activiti 创建 流程 接口 Activiti7 Servcie processEngine ProcessEngine

一、工作流引擎创建

工作流引擎(ProcessEngine),相当于一个门面接口,通过ProcessEngineConfiguration创建processEngine,通过ProcessEngine创建各个service接口。

1、默认创建方式

 将activiti.cfg.xml文件名及路径固定,且activiti.cfg.xml文件中有 processEngineConfiguration的配置, 可以使用如下代码创建processEngine:
//直接使用工具类 ProcessEngines,使用classpath下的activiti.cfg.xml中的配置创建processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println(processEngine);

2、 一般创建方式

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

二、 Servcie服务接口

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

1、Service创建方式

通过ProcessEngine创建Service

方式如下:

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

2、Service总览

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

 

 

简单介绍:

RepositoryService

是activiti的资源管理类,提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工具设计的业务流程图需要使用此service将流程定义文件的内容部署到计算机。

除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。

暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。

获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。

RuntimeService

Activiti的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息

TaskService

Activiti的任务管理类。可以从这个类中获取任务的信息。

HistoryService

Activiti的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。

ManagementService

Activiti的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于 Activiti 系统的日常维护。

标签:引擎,activiti,创建,流程,接口,Activiti7,Servcie,processEngine,ProcessEngine
From: https://www.cnblogs.com/mangoubiubiu/p/17234489.html

相关文章

  • Activiti7 基础篇 Activiti类关系图
    上面我们完成了Activiti数据库表的生成,java代码中我们调用Activiti的工具类,下面来了解Activiti的类关系 一、类关系图  新版本,IdentityService,FormService两个Seri......
  • Activiti7 基础篇 环境搭建
    一、创建Maven工程及相关配置1、pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/......
  • 使用koajs做一个代理跨域服务,可以代理任意网站和接口
    使用koajs做一个代理跨域服务。constKoa=require('koa');constproxy=require('koa-proxy');constRouter=require('koa-router');constsession=require('k......
  • Web API接口返回实现类集合的姿势了解
    大家好,我是沙漠尽头的狼。一.问题描述如下图,定义两个子类Student和Employ,都继承自抽象类PersonBase:publicabstractclassPersonBase{publicstringName{ge......
  • Activiti7 基础篇 介绍及概述
    一、工作流介绍1.1概念工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或......
  • 第三方接口的熔断方案(openresty)
    背景很多项目都需要调用到第三方的接口,曾经就有调用第三方接口慢,大量超时响应的请求不断堆积,造成服务不可用,间接堵塞了我司服务的整条依赖链,最后导致整个业务系统雪崩。不......
  • Linux(centos)接口代理策略
    Linux(centos)接口代理策略前言目的:实现一个接口转发,代理访问qiang内不能访问的接口。实现方式:直接使用go的第三方ssr包;(有报错,可能是版本不对,未实现)Linux直接安装ssr......
  • 孤狼老师-接口测试自动化(Python版完整版)-测试数据管理
                  先创建一个xml文件  解析xml文件: ......
  • 各大编程语言接口对接中的签名对接
    前几天在对接二方接口的过程中,遇到了一些困难,趁着周末有时间,记录下来,一来自己作为一个复习笔记,二来给后来人做一个参考。问题背景我用Java对接C#开发的接口时,签名总......
  • mapper接口中常见的增删改查
    前言相信大家在使用mybatis写mapper接口的时候,最常用且简单的方法就是增删改查了。我也是刚开始做项目,在本篇文章中,我将根据自己在vhr微人力项目中的mapper接口方法为实......