一共89个接口
1.启动流程实例(20个方法)
//使用给定的键在流程定义的最新版本中启动一个新的流程实例。
ProcessInstance startProcessInstanceByKey(String processDefinitionKey);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String, Object> variables);
//类似于{ @link # startProcessInstanceByKey(String)},但是使用一个特定的租户标识符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String tenantId);
//类似于{ @link # startProcessInstanceByKey(String String)},但是使用一个特定的租户标识符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, String tenantId);
//类似于{ @link # startProcessInstanceByKey(String Map)},但是使用一个特定的租户标识符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, Map<String, Object> variables, String tenantId);
//类似于{ @link # startProcessInstanceByKey(String String Map)},但是使用一个特定的租户标识符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, Map<String, Object> variables, String tenantId);
//使用给定的id在流程定义的精确指定版本中启动一个新的流程实例。
ProcessInstance startProcessInstanceById(String processDefinitionId);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, Object> variables);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, Map<String, Object> variables);
//表示接收到消息的流程引擎并启动一个新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName);
//类似于{ @link RuntimeService # startProcessInstanceByMessage(String)},但是有租户上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String tenantId);
//表示接收到消息的流程引擎并启动一个新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey);
//类似于{ @link RuntimeService # startProcessInstanceByMessage(String,String)},但是有租户上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, String tenantId);
//表示接收到消息的流程引擎并启动一个新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, Map<String, Object> processVariables);
//类似于{ @link RuntimeService # startProcessInstanceByMessage(String,Map)},但是有租户上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, Map<String, Object> processVariables, String tenantId);
//表示接收到消息的流程引擎并启动一个新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey, Map<String, Object> processVariables);
//类似于{ @link RuntimeService # startProcessInstanceByMessage(String,String,Map)},但是有租户上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, Map<String, Object> processVariables, String tenantId);

2.删除流程实例(1个方法)
//删除现有的运行时流程实例。
void deleteProcessInstance(String processInstanceId, String deleteReason);

3.查找活动id(1个方法)
//查找在活动中等待的所有执行的活动id。
这是一个列表,因为单个活动可以多次活动。
List<String> getActiveActivityIds(String executionId);

4.添加外部触发器(2个方法)
//将一个外部触发器发送到正在执行的活动实例中。
void signal(String executionId);
//同上
void signal(String executionId, Map<String, Object> processVariables);

5.更新业务秘钥(1个方法)
//更新提供的流程实例的业务密钥。
void updateBusinessKey(String processInstanceId, String businessKey);

6.用户(用户组)的链接标识操作(添加4个,删除4个,获取1个)
//涉及一个具有流程实例的用户。
身份链接的类型由给定的身份链接类型定义。
void addUserIdentityLink(String processInstanceId, String userId, String identityLinkType);
//涉及一个具有流程实例的用户组。
身份链接的类型由给定的身份链接类型定义。
void addGroupIdentityLink(String processInstanceId, String groupId, String identityLinkType);
//{@link #addUserIdentityLink(String、String、String)}的便利简写;
有一个类型{ @link IdentityLinkType #候选人}
void addParticipantUser(String processInstanceId, String userId);
//{@link #addGroupIdentityLink(String, String, String)}的遍历简写
void addParticipantGroup(String processInstanceId, String groupId);
//{@link #deleteUserIdentityLink(String, String, String)}的遍历简写
void deleteParticipantUser(String processInstanceId, String userId);
//{@link #deleteGroupIdentityLink(String, String, String)}的遍历简写
void deleteParticipantGroup(String processInstanceId, String groupId);
//删除用户与给定身份链接类型的流程实例之间的关联。
void deleteUserIdentityLink(String processInstanceId, String userId, String identityLinkType);
//删除一个组与给定的标识链接类型的流程实例之间的关联。
void deleteGroupIdentityLink(String processInstanceId, String groupId, String identityLinkType);
//检索与给定流程实例关联的{@link IdentityLink}。
这样的{@link IdentityLink}通知某个用户是如何参与流程实例的。
List<IdentityLink> getIdentityLinksForProcessInstance(String instanceId);

7.获取变量(所有变量(包含父范围的4个,不包含父范围的3个),给定变量(包含父范围的3个,不包含父范围的3个)单个变量(3个))
//从给定的执行范围(包括父范围)可见的所有变量。
Map<String, Object> getVariables(String executionId);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId);
// 同上
List<VariableInstance> getVariableInstancesByExecutionIds(Set<String> executionIds);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, String locale, boolean withLocalizationFallback);
//在执行范围内定义的所有变量值,不考虑外部作用域。
如果您有许多任务局部变量,而且只需要一些,请考虑使用{@link #getVariablesLocal(String, Collection)}来获得更好的性能。
Map<String, Object> getVariablesLocal(String executionId);
//在执行范围内定义的所有变量值,不考虑外部作用域。
如果您有许多任务局部变量,你只需要一些,考虑使用{ @link # getVariableInstancesLocal(String, Collection)}获得更好的性能。
Map<String, VariableInstance> getVariableInstancesLocal(String executionId);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, String locale, boolean withLocalizationFallback);
//所有给定变量的变量值,将所有变量都考虑在内,从给定的执行范围(包括父作用域)可以看到。
Map<String, Object> getVariables(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, Collection<String> variableNames, String locale, boolean withLocalizationFallback);
//给定变量的变量值只考虑给定的执行范围,而不考虑外部作用域。
Map<String, Object> getVariablesLocal(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, Collection<String> variableNames, String locale, boolean withLocalizationFallback);
//变量的值。
搜索变量是在给定的执行(包括父范围)可见的所有范围内完成的。
当在给定的名称或值设置为null时,没有发现变量值,返回null。
Object getVariable(String executionId, String variableName);
//同上
VariableInstance getVariableInstance(String executionId, String variableName);
//变量的值。
搜索变量是在给定的执行(包括父范围)可见的所有范围内完成的。
当在给定的名称或值设置为null时,没有发现变量值,返回null。
抛出ClassCastException时,不能将变量转换为给定的类。
<T> T getVariable(String executionId, String variableName, Class<T> variableClass);

8.检测变量(1个)
//检查该执行是否具有给定名称的变量集,在给定的执行(包括父作用域)可见的所有范围内搜索该变量。
boolean hasVariable(String executionId, String variableName);

9.获取执行的变量值(4个)
//执行的变量值。
当变量为执行设置(而不是搜索父范围)时返回值。
当在给定的名称或值设置为null时,没有发现变量值,返回null。
Object getVariableLocal(String executionId, String variableName);
//同上
VariableInstance getVariableInstanceLocal(String executionId, String variableName);
//同上
VariableInstance getVariableInstanceLocal(String executionId, String variableName, String locale, boolean withLocalizationFallback);
//同上
<T> T getVariableLocal(String executionId, String variableName, Class<T> variableClass);

10.检测变量
//检查这个执行是否有一个带有给定名称的本地变量集。
boolean hasVariableLocal(String executionId, String variableName);

11.变量更新创建(有更新,无创建)4个 删除4个
//为执行更新或创建一个变量。
void setVariable(String executionId, String variableName, Object value);
//为执行更新或创建一个变量(不考虑父范围)。
如果变量不是已经存在,那么它将在给定的执行中创建。
void setVariableLocal(String executionId, String variableName, Object value);
//为执行(包括父范围)更新或创建给定的变量。
void setVariables(String executionId, Map<String, ? extends Object> variables);
//为执行更新或创建给定的变量(不考虑父范围)。
如果变量不是已经存在的,那么它将在给定的执行中创建。
void setVariablesLocal(String executionId, Map<String, ? extends Object> variables);
//为执行移除一个变量。
void removeVariable(String executionId, String variableName);
//同上(不考虑父范围)
void removeVariableLocal(String executionId, String variableName);
//同上(考虑父范围)
void removeVariables(String executionId, Collection<String> variableNames);
//同上(不考虑父范围)
void removeVariablesLocal(String executionId, Collection<String> variableNames);

12.创建执行查询
//创建一个新的{@link ExecutionQuery}实例,该实例可以用于查询执行和流程实例。
ExecutionQuery createExecutionQuery();
//创建一个新的{@link NativeExecutionQuery},可以直接通过SQL查询{@link Execution}。
NativeExecutionQuery createNativeExecutionQuery();
//创建一个新的{@link ProcessInstanceQuery}实例,该实例可以用于查询流程实例。
ProcessInstanceQuery createProcessInstanceQuery();
//创建一个新的{@link NativeProcessInstanceQuery } {@link ProcessInstance }年代直接通过SQL查询
NativeProcessInstanceQuery createNativeProcessInstanceQuery();

13.流程实例(挂起1个,激活1个,通知11个)
//用给定的id挂起流程实例。
void suspendProcessInstanceById(String processInstanceId);
//用给定的id激活流程实例。
void activateProcessInstanceById(String processInstanceId);
//通知流程引擎,接收到一个名为“signalName”的信号事件。
该方法将信号传递给等待信号的所有执行。
void signalEventReceived(String signalName);
//同上 但有租户的上下文。
void signalEventReceivedWithTenantId(String signalName, String tenantId);
//通知流程引擎,接收到一个名为“signalName”的信号事件。
该方法将信号传递给等待信号的所有执行。
void signalEventReceivedAsync(String signalName);
//同上 但有租户的上下文。
void signalEventReceivedAsyncWithTenantId(String signalName, String tenantId);
//通知流程引擎,接收到一个名为“signalName”的信号事件。
该方法将信号传递给等待信号的所有执行。
void signalEventReceived(String signalName, Map<String, Object> processVariables);
//同上 但有租户的上下文。
void signalEventReceivedWithTenantId(String signalName, Map<String, Object> processVariables, String tenantId);
//通知流程引擎,接收到一个名为“signalName”的信号事件。
该方法将信号传递给单个执行,即由“executionId”引用的执行。
等待执行被同步通知。
void signalEventReceived(String signalName, String executionId);
//同上
void signalEventReceived(String signalName, String executionId, Map<String, Object> processVariables);
//同上(异步)
void signalEventReceivedAsync(String signalName, String executionId);
//通知流程引擎,接收到名为“messageName”的消息事件,并与id“executionId”执行关联。
void messageEventReceived(String messageName, String executionId);
//同上
void messageEventReceived(String messageName, String executionId, Map<String, Object> processVariables);
//同上异步
void messageEventReceivedAsync(String messageName, String executionId);

14.监听器(添加2个,移除1个,分派1个)
//添加一个事件监听器,它将被分派器通知所有事件。
void addEventListener(ActivitiEventListener listenerToAdd);
//添加一个事件监听器,它只会在事件发生时被通知,该事件类型在给定类型中。
void addEventListener(ActivitiEventListener listenerToAdd, ActivitiEventType... types);
//从这个分派器中移除给定的侦听器。
侦听器将不再被通知,无论它在第一个位置注册的类型是什么。
void removeEventListener(ActivitiEventListener listenerToRemove);
//将给定事件分派给注册的任何侦听器。
void dispatchEvent(ActivitiEvent event);
//用给定的id设置流程实例的名称。
void setProcessInstanceName(String processInstanceId, String name);
//获取所有与给定流程实例相关的事件。
List<Event> getProcessInstanceEvents(String processInstanceId);
//创建一个ProcessInstanceBuilder
ProcessInstanceBuilder createProcessInstanceBuilder();

转自https://www.cnblogs.com/liuqing576598117/p/9815033.html

Activiti服务类- RuntimeService服务类的更多相关文章

  1. Spring容器装饰者模式应用之实现业务类与服务类自由组合的解决方式

    在不论什么一个项目中都不可或缺的存在两种bean,一种是实现系统核心功能的bean,我们称之为业务类,第二种是与系统核心业务无关但同一时候又提供十分重要服务bean,我们称之为服务类.业务类的bean ...

  2. Windows服务 System.ServiceProcess.ServiceBase类

    一.Windows服务 1.Windows服务应用程序是一种需要长期运行的应用程序,它适合服务器环境. 2.无用户界面,任何消息都会写进Windows事件日志. 3.随计算机启动而启动,不需要用户一定 ...

  3. 属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务

    小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研 ...

  4. 避免在ASP.NET Core 3.0中为启动类注入服务

    本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0类库转换为.NET Core 3.0类库 Part 2 - IHostingE ...

  5. 集成新版(5.17+)Activiti Modeler与Rest服务

    声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...

  6. 微服务和SOA服务

    微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将“服务”作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们 ...

  7. 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性

      本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html 关键字:内省.JavaBean.PropertyDescriptor类.Int ...

  8. .net 根据匿名类生成实体类,根据datatable生成实体类,根据sql生成实体类

    在开发中可能会遇到这几种情况 1.EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类 2.通过datatable反射实体需要先建一个类 ,头痛 3.通过SQL语句返回的实体也需要 ...

  9. SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解

        在SuperSocket入门(二)中我们已经简单了解了通过配置App.config文件使用BootStrap启动SuperSocket服务.我们先来看一下上个案例中的基本配置文件示例: < ...

随机推荐

  1. mysql 库表的操作

    MySQL的库.表的详细操作 MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf ...

  2. chrome 调试 ios h5

    1,安装itunes, 否则无法识别iphone设备 2,开启调试模式 ,打开 iPhone 依次进入 设置 > Safari > 高级 > Web 检查 > 启用 3,下载 ...

  3. vi 使用系统剪贴板(clipboard)

    ref : https://www.jianshu.com/p/771b95e34293 http://www.bubuko.com/infodetail-469867.html 在vi中,如果编译时 ...

  4. redis哈希表数据类型键的设置

    命令名称:hset 语法:hset key field value 功能: 1)将哈希表key中的域field的值设为value. 2)如果key不存在,一个新的哈希表被创建并进行hset操作. 3) ...

  5. Linux 截取日志命令

    1.截取时间段 截取 2019-06-25 10:10 到 2019-06-25 10:20 之间的日志记录,apollo-service.log 为你要截取的文件名称, new2.log 截取之后保 ...

  6. 入手线段树 hdu1754

    今天学习了线段树的三个基本操作 建树 更新 查找 先理解下什么是线段树就这个题目而言 如果我们用普通的数组去存放 然后依次遍历访问的话 时间太多了线段树利用了二分的思想 把数据以段的形式进行储存 这样 ...

  7. MySQL存储的字段是不区分大小写的,你知道吗?

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 00 简单回顾 之前写过一篇关于mysql 对表大小写敏感的问题,其实在mysql中字段存储的内容是不区分大小写的,本篇进 ...

  8. JDBC 学习复习6 学习与编写数据库连接池

    之前的工具类DBUtil暴露的问题 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的 ...

  9. Go part 2 基础语法

    关键字.标识符 标识符: 是用户或系统定义的有意义单词组合,或单词与数字组合(具体意义有定义者决定) 标识符以字母下划线开头,大小写敏感,比如:boy,  Boy,  _boy,  _(匿名变量,用来 ...

  10. IntelliJ IDEA控制台启动Tomcat输出中文乱码问题

    IntelliJ IDEA控制台输出中文乱码问题 1. 先解决Tomcat中文乱码问题 参考  Tomcat 输出日志出现中文乱码 2. 解决Idea配置问题 打开IntelliJ IDEA本地安装目 ...