引擎API是与Activiti交互的最常见方式。中心起点是ProcessEngine,可以通过多种方式创建,如《Activiti学习笔记(三)获取ProcessEngine对象的多种方式》。

从ProcessEngine中,可以获得包含工作流BPM方法的各种服务。一下是Activiti的模型图

一共有7个服务分别执行了Activiti的部署、创建、启动、执行.....等

首先通过RepositoryService部署服务,代码如下:

Deployment deployment = processEngine.getRepositoryService().createDeployment().addClasspathResource("diagrams/HelloWord.bpmn").deploy();

RuntimeService启动服务,代码如下:

ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey("HelloWord");

TaskService执行服务,代码如下

processEngine.getTaskService().complete(taskId)

HistoryService历史任务管理服务,代码如下:

HistoryService historyService = processEngine.getHistoryService();
HistoricProcessInstance historicProcessInstance =
historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();

IdentityService组织机构管理服务,代码如下:

List<User> authorizedUsers =  identityService().createUserQuery().potentialStarter("processDefinitionId").list();

FormService任务表单管理服务,代码如下:

TaskFormdata FormService.getTaskFormData(String taskId)

ManagementService 服务管理,代码如下:

List<Task> tasks = taskService.createNativeTaskQuery().sql("SELECT count(*) FROM " + managementService.getTableName(Task.class) + " T WHERE T.NAME_ = #{taskName}").parameter("taskName", "gonzoTask").list();

  

转载于:https://www.cnblogs.com/smile-tianxia/p/10009268.html

Activiti学习笔记(六)Activiti的流程引擎API和服务相关推荐

  1. activiti入门2流程引擎API和服务基础设施

    RepositoryService : 管理和控制公布包和流程定义(包括了一个流程每一个环节的结构和行为)的操作 除此之外,服务能够 查询引擎中的公布包和流程定义. 暂停或激活公布包.相应所有和特定流 ...

  2. Activiti学习笔记:Activiti和Spring整合、Activiti和SpringBoot整合之Gradle版

    环境 activiti:7+ Java:11 本机环境:window MySQL:5.7 gradlew:6+ Activiti和Spring整合 大体流程: 先创建项目,并导入依赖 添加activi ...

  3. Activiti 学习笔记记录(2016-8-31)

    上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件 转载于:https://ww ...

  4. activiti学习(二十一)——流程虚拟机源码分析(三)——从进入到离开userTask

    前言 承接上文<activiti学习(二十)--流程虚拟机源码分析(二)--从开始节点离开到下个节点前>,假设execution接下来进入的节点是userTask,本文分析一下进入user ...

  5. Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制

    Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...

  6. libevent学习笔记六:libevent核心事件event

    libevent学习笔记六:libevent核心事件event 前面对reactor模式.事件处理流程.libevent源代码结构等有了高层的认识后,接下来将详细介绍libevent的核心结构even ...

  7. Ethernet/IP 学习笔记六

    Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...

  8. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  9. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  10. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

最新文章

  1. LeetCode: 105. Construct Binary Tree from Preorder and Inorder Traversal
  2. 凤凰城将很快迎来无人驾驶汽车
  3. 解决MyEclipse2015启动时:Java was started but returned exit code=1问题
  4. youtube根据channelId抓取栏目
  5. windows系统-函数的条件分支实现用汇编语言解释
  6. react dispatch_React系列自定义Hooks很简单
  7. JAVA 没有重载运算符,那么 String 类型的加法是怎么实现的,以及String类型不可变的原因和好处...
  8. qt for python对比pyqt_PyQt4和electron的第二轮对比
  9. 开源表单系统推荐:TDUCK填鸭表单
  10. 照相机成像原理 数码相机的成像原理
  11. (教程)微信公众号接入淘票票cps推广电影链接赚佣金
  12. MMA8452Q 三轴加速度传感器驱动
  13. vue 图表组件_基于Vue.js中可用的JUI图表的Vue组件
  14. 外贸7日通-外贸流程详解 第六天
  15. 遗传算法(二)——编码
  16. 经济法论文选题有什么推荐吗?
  17. 如何用Deep Learning为股票定价
  18. oracle异构迁移mysql方案实施(含原理)——已迁移成功
  19. android大字体桌面,大图标大字体 Android老人机桌面试玩
  20. 【观察】加速建筑产业数字化,紫光建筑云“行胜于言”

热门文章

  1. 特别实用的几种SQL语句送给大家,让你的SQL高大上!
  2. 王者峡谷一呼百应,弹幕“666”,背后都离不开长连接,如何实现千万级高性能的长连接网关?...
  3. 什么才是真正的架构设计?
  4. CPU说:这个世界太慢了
  5. 「裸奔」的数据隐私!
  6. 给 22 岁的自己六点建议
  7. 看过来,说的就是你!
  8. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
  9. CentOS7下如何正确安装并启动Docker(图文详解)
  10. Linux的cat命令详解