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服务.我们先来看一下上个案例中的基本配置文件示例: < ...
随机推荐
- phpstrom
在phpstrom 中启用composer 步骤: 1.打开编辑器,选择 文件(file)->设置(setting),找到 Command Line Tool Support ,点击 + 号进行 ...
- nacos搭建
1.下载执行包 直接官网 https://nacos.io/zh-cn/docs/quick-start.html 2. 建表 3. 启动 http://10.0.0.113:8848/nacos/i ...
- df执行hang住
一.现象 在linux操作系统中,执行df -h命令,后hang住 二.思路 排查是否存在Nfs问题,无法正常挂载nfs路径导致的问题. 三.解决过程 3.1 cat /etc/rc.local #m ...
- MySQL 军规
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...
- (九)mybatis之延迟加载
一.为什么要使用延迟加载? 使用延迟加载的意义 在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度快. 如果查询单表就可以满足需求,一开始先查询单表,当需要关联 ...
- 移动端自适应之flexible
移动端自适应之flexible 作用:flexible的作用是使页面可以适配不同移动终端 原理:在页面html标签上添加style = "font-size: 36px;"样式,设 ...
- 三:后台的登录注册接口(moon项目,前面有一,二)
** 项目一共有 16 个页面,是一个电商网销项目,自己在网上的某网上找的一个要做的网站的设计图: 页面主要包括: 登录页 -- 注册页 -- 首页 -- 产品列表页 -- 产品详情页 -- 会员中 ...
- JS/js是什么?
JavaScript 是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: ECMAScript,由 ECMA-262 定义,提供核心语言功能; 文档对象模型(DOM),提供访问和操作网页 ...
- K2 BPM_“选BPM还是RPA?”,这不是一道单选题_全业务流程管理专家
在我们和企业讨论流程自动化的时候,经常会被问到一个问题,“公司目前正在调研市面上的业务流程自动化产品,我们已经把选择范围缩小到了BPM和RPA之间.我们应该怎么选择?BPM能做的好像RPA都能做到.” ...
- smart_ptr之shared_ptr
智能指针的概念 c++11标准和boost都提供了智能指针的功能.智能指针是普通指针的封装,智能指针是一个对象,对象里面包含了原生指针.可以使用智能指针对象的get()方法可获得封装在里面的原生指针. ...