Activiti服务类- RuntimeService服务类
一共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服务类的更多相关文章
- Spring容器装饰者模式应用之实现业务类与服务类自由组合的解决方式
在不论什么一个项目中都不可或缺的存在两种bean,一种是实现系统核心功能的bean,我们称之为业务类,第二种是与系统核心业务无关但同一时候又提供十分重要服务bean,我们称之为服务类.业务类的bean ...
- Windows服务 System.ServiceProcess.ServiceBase类
一.Windows服务 1.Windows服务应用程序是一种需要长期运行的应用程序,它适合服务器环境. 2.无用户界面,任何消息都会写进Windows事件日志. 3.随计算机启动而启动,不需要用户一定 ...
- 属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务
小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研 ...
- 避免在ASP.NET Core 3.0中为启动类注入服务
本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0类库转换为.NET Core 3.0类库 Part 2 - IHostingE ...
- 集成新版(5.17+)Activiti Modeler与Rest服务
声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...
- 微服务和SOA服务
微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将“服务”作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们 ...
- 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性
本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html 关键字:内省.JavaBean.PropertyDescriptor类.Int ...
- .net 根据匿名类生成实体类,根据datatable生成实体类,根据sql生成实体类
在开发中可能会遇到这几种情况 1.EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类 2.通过datatable反射实体需要先建一个类 ,头痛 3.通过SQL语句返回的实体也需要 ...
- SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解
在SuperSocket入门(二)中我们已经简单了解了通过配置App.config文件使用BootStrap启动SuperSocket服务.我们先来看一下上个案例中的基本配置文件示例: < ...
随机推荐
- 20190924-LeetCode解数独题目分享
解决数独 题目描述 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以 ...
- gin mongodb restful api设计: 动态的patch接口
目录 什么是Patch? Patch方法可以用来更新资源的一个组成部分 什么时候使用Patch? 当你仅需更新资源的某一项,即不完全也不幂等 那当我们的模型在数据库中几乎每个字段都可能会遇到改变的时候 ...
- 使用Duilib开发Windows软件(5)——使用VLC做视频播放
需求:调用PC上的摄像头拍照. 实现思路:接入视频流,截屏获取照片. 早期的vlc安装包(Windows)是附带sdk包的,现在的安装后已经没有了,原因如下: VLC SDK下载连接:https:// ...
- 浅析web网站反向代理的配置
一.背景 最近在部署项目到web服务器上时,该项目有一个打开视频监控的功能,视频的服务器是一台内网的服务器,不允许设置外网端口访问,网站服务器和视频服务器在同一个局域网内,可以相互联通.网络拓扑图如下 ...
- centOS 7单机安装 kong
kong 网关 单机部署 环境:centOS 7:依赖:jdk1.8 安装内容:postgresql数据库, kong 网关,nodeJs和npm,kong Dashboard (可视化管理界面) 版 ...
- SIP协议参数详解
1.1 SIP消息分类 SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切. SIP协议将Server和User Agent之间的通讯的 ...
- 如何在vscode中调试vue-cli项目?
一:参考官网文档,写的还是很清楚的:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 二:需要安装的东西和初始项目 2.1 用vue ...
- PHP常见算法
算法的概念:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作.一个问题可以有多种算法,每种算法都不同的效率.一个算法具有的特征:有穷,确切,输入,输出,可行 ...
- 解决ios8下coreData没有NSPersistentContainer的问题
用Xcode8.1默认创建ios app的时候,使用coreData的话,要10.0以上的版本才行.因为NSPersistentContainer只有10.0以上的版本才有,10.0以下的版本是没有的 ...
- flutter packages get 慢 解决方案
国内使用 flutter packages get 命令,一直是 This is taking an unexpectedly long time 状态 科.学.上.网.无.效. windows解决 ...