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服务.我们先来看一下上个案例中的基本配置文件示例: < ...
随机推荐
- Scratch2.0教材(9)——合体大变身
教材说明 ——————— 1.本教材共96节课,适用于3-5年级.40人.40分钟的课堂: 2.初期我会把每节课的代码控制在10行以内,后期再逐渐增加: 3.欢迎提意见. 课程摘要 ——————— [ ...
- C#获取客户端Ip工具类
string pcname = Dns.GetHostName(); string ip = Dns.GetHostAddresses(pcname).First().ToString(); usin ...
- C#多线程的简单理解
一.CLR线程池基础 创建和销毁线程是一个昂贵的操作,所以CLR管理了一个线程池(thread pool),可以将线程池看成一个黑盒. CLR初始化时,线程池中是没有线程的.线程的初始化与其他线程一样 ...
- mini.DataGrid使用说明
mini.DataGrid表格.实现分页加载.自定义列.单元格渲染.行编辑器.锁定列.过滤行.汇总行等功能.Extend mini.PanelUsage <div id="dat ...
- python - pyxel 制作游戏
之前看了一个项目,觉得还挺有意思的,是关于做一个像素风的游戏,现在,虚幻4,u3d,已经让游戏愈发的好看,好玩,曾经我们童年的像素风游戏,愈来愈少.所以,这里我们就回味下. Pyxel是一个pytho ...
- zlog日志函数库
在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx).C程序员都喜欢用自己的轮子.printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件 ...
- 5.管道 Pipe
/*管道(Pipe)*/ Java NIO 管道是 /*2 个线程*/ 之间的 /*单向*/数据连接 Pipe 有一个 source 通道 和 一个 sink 通道.数据会被写到 sink 通道,从s ...
- Ubuntu 系统信息相关命令
系统信息相关命令 本节内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间 / 磁盘空间占用情况 / 程序执行情况 本小结学习的终端命令基本都是查询命令,通过这些命令对系统资源 ...
- fastadmin 中 a标签跳转
<a class="btn-addtabs" href="/入口文件/模块/控制器"></a>
- FTP下载文件和操作系统的关系
标题不知道该怎么写了. 最近调试AGPS,嵌入式设备需要从FTP服务器上下载星历数据,星历数据是二进制数据.嵌入式设备下载完数据后和原始数据对比,发现数据量变大了(但是通过pc端的FTP软件下载下来的 ...