• Activiti服务类-8 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();

  • 相关阅读:
    【推荐】微服务分布式企业框架Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis
    将WCF寄宿在托管的Windows服务中
    剑指Offer
    剑指Offer
    Entity Framework 无法对没有主键的视图映射实体的解决办法
    设置Sql Agent运行Job时的执行账户
    IE中Keep-Alive机制引起的错误
    Ajax错误 “SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成” 的归纳总结
    在IIS站点中Adomd.net集成认证账号问题
    出现“不能执行已释放的Script代码”错误的原因及解决办法
  • 原文地址:https://www.cnblogs.com/liuqing576598117/p/9815033.html
Copyright © 2020-2023  润新知