Class RuntimeServiceImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activateProcessInstanceById​(java.lang.String processInstanceId)
      Activates the process instance with the given id.
      void addEventListener​(ActivitiEventListener listenerToAdd)
      Adds an event-listener which will be notified of ALL events by the dispatcher.
      void addEventListener​(ActivitiEventListener listenerToAdd, ActivitiEventType... types)
      Adds an event-listener which will only be notified when an event occurs, which type is in the given types.
      void addGroupIdentityLink​(java.lang.String processInstanceId, java.lang.String groupId, java.lang.String identityLinkType)
      Involves a group with a process instance.
      void addParticipantGroup​(java.lang.String processInstanceId, java.lang.String groupId)
      void addParticipantUser​(java.lang.String processInstanceId, java.lang.String userId)
      void addUserIdentityLink​(java.lang.String processInstanceId, java.lang.String userId, java.lang.String identityLinkType)
      Involves a user with a process instance.
      void completeAdhocSubProcess​(java.lang.String executionId)
      Completes the ad-hoc sub process
      ExecutionQuery createExecutionQuery()
      Creates a new ExecutionQuery instance, that can be used to query the executions and process instances.
      NativeExecutionQuery createNativeExecutionQuery()
      creates a new NativeExecutionQuery to query Executions by SQL directly
      NativeProcessInstanceQuery createNativeProcessInstanceQuery()
      creates a new NativeProcessInstanceQuery to query ProcessInstances by SQL directly
      ProcessInstanceBuilder createProcessInstanceBuilder()
      Create a ProcessInstanceBuilder, that allows to set various options for starting a process instance, as an alternative to the various startProcessInstanceByXX methods.
      ProcessInstanceQuery createProcessInstanceQuery()
      Creates a new ProcessInstanceQuery instance, that can be used to query process instances.
      void deleteGroupIdentityLink​(java.lang.String processInstanceId, java.lang.String groupId, java.lang.String identityLinkType)
      Removes the association between a group and a process instance for the given identityLinkType.
      void deleteParticipantGroup​(java.lang.String processInstanceId, java.lang.String groupId)
      void deleteParticipantUser​(java.lang.String processInstanceId, java.lang.String userId)
      void deleteProcessInstance​(java.lang.String processInstanceId, java.lang.String deleteReason)
      Delete an existing runtime process instance.
      void deleteUserIdentityLink​(java.lang.String processInstanceId, java.lang.String userId, java.lang.String identityLinkType)
      Removes the association between a user and a process instance for the given identityLinkType.
      void dispatchEvent​(ActivitiEvent event)
      Dispatches the given event to any listeners that are registered.
      Execution executeActivityInAdhocSubProcess​(java.lang.String executionId, java.lang.String activityId)
      Executes an activity in a ad-hoc sub process
      java.util.List<java.lang.String> getActiveActivityIds​(java.lang.String executionId)
      Finds the activity ids for all executions that are waiting in activities.
      DataObject getDataObject​(java.lang.String executionId, java.lang.String dataObject)
      The DataObject.
      DataObject getDataObject​(java.lang.String executionId, java.lang.String dataObjectName, java.lang.String locale, boolean withLocalizationFallback)
      The DataObject.
      DataObject getDataObjectLocal​(java.lang.String executionId, java.lang.String dataObjectName)
      The DataObject for an execution.
      DataObject getDataObjectLocal​(java.lang.String executionId, java.lang.String dataObjectName, java.lang.String locale, boolean withLocalizationFallback)
      The DataObject for an execution.
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId)
      All DataObjects visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId, java.lang.String locale, boolean withLocalizationFallback)
      All DataObjects visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId, java.util.Collection<java.lang.String> dataObjectNames)
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId, java.util.Collection<java.lang.String> dataObjectNames, java.lang.String locale, boolean withLocalizationFallback)
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId)
      All DataObject values that are defined in the execution scope, without taking outer scopes into account.
      java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId, java.lang.String locale, boolean withLocalizationFallback)
      All DataObject values that are defined in the execution scope, without taking outer scopes into account.
      java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId, java.util.Collection<java.lang.String> dataObjects)
      The DataObjects for the given dataObjectNames only taking the given execution scope into account, not looking in outer scopes.
      java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId, java.util.Collection<java.lang.String> dataObjectNames, java.lang.String locale, boolean withLocalizationFallback)
      The DataObjects for the given dataObjectNames only taking the given execution scope into account, not looking in outer scopes.
      java.util.List<org.activiti.bpmn.model.FlowNode> getEnabledActivitiesFromAdhocSubProcess​(java.lang.String executionId)
      Gets enabled activities from ad-hoc sub process
      java.util.List<IdentityLink> getIdentityLinksForProcessInstance​(java.lang.String processInstanceId)
      Retrieves the IdentityLinks associated with the given process instance.
      java.util.List<Event> getProcessInstanceEvents​(java.lang.String processInstanceId)
      The all events related to the given Process Instance.
      java.lang.Object getVariable​(java.lang.String executionId, java.lang.String variableName)
      The variable value.
      <T> T getVariable​(java.lang.String executionId, java.lang.String variableName, java.lang.Class<T> variableClass)
      The variable value.
      VariableInstance getVariableInstance​(java.lang.String executionId, java.lang.String variableName)
      The variable.
      VariableInstance getVariableInstanceLocal​(java.lang.String executionId, java.lang.String variableName)
      The variable for an execution.
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String executionId)
      All variables visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      The variable values for all given variableNames, takes all variables into account which are visible from the given execution scope (including parent scopes).
      java.util.List<VariableInstance> getVariableInstancesByExecutionIds​(java.util.Set<java.lang.String> executionIds)
      All variables visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String executionId)
      All variable values that are defined in the execution scope, without taking outer scopes into account.
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
      java.lang.Object getVariableLocal​(java.lang.String executionId, java.lang.String variableName)
      The variable value for an execution.
      <T> T getVariableLocal​(java.lang.String executionId, java.lang.String variableName, java.lang.Class<T> variableClass)
      The variable value for an execution.
      java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String executionId)
      All variables visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      The variable values for all given variableNames, takes all variables into account which are visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String executionId)
      All variable values that are defined in the execution scope, without taking outer scopes into account.
      java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
      boolean hasVariable​(java.lang.String executionId, java.lang.String variableName)
      Check whether or not this execution has variable set with the given name, Searching for the variable is done in all scopes that are visible to the given execution (including parent scopes).
      boolean hasVariableLocal​(java.lang.String executionId, java.lang.String variableName)
      Check whether or not this execution has a local variable set with the given name.
      void messageEventReceived​(java.lang.String messageName, java.lang.String executionId)
      Notifies the process engine that a message event with name 'messageName' has been received and has been correlated to an execution with id 'executionId'.
      void messageEventReceived​(java.lang.String messageName, java.lang.String executionId, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Notifies the process engine that a message event with the name 'messageName' has been received and has been correlated to an execution with id 'executionId'.
      void messageEventReceivedAsync​(java.lang.String messageName, java.lang.String executionId)
      Notifies the process engine that a message event with the name 'messageName' has been received and has been correlated to an execution with id 'executionId'.
      void removeEventListener​(ActivitiEventListener listenerToRemove)
      Removes the given listener from this dispatcher.
      void removeVariable​(java.lang.String executionId, java.lang.String variableName)
      Removes a variable for an execution.
      void removeVariableLocal​(java.lang.String executionId, java.lang.String variableName)
      Removes a variable for an execution (not considering parent scopes).
      void removeVariables​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      Removes variables for an execution.
      void removeVariablesLocal​(java.lang.String executionId, java.util.Collection<java.lang.String> variableNames)
      Remove variables for an execution (not considering parent scopes).
      void setProcessInstanceName​(java.lang.String processInstanceId, java.lang.String name)
      Sets the name for the process instance with the given id.
      void setVariable​(java.lang.String executionId, java.lang.String variableName, java.lang.Object value)
      Update or create a variable for an execution.
      void setVariableLocal​(java.lang.String executionId, java.lang.String variableName, java.lang.Object value)
      Update or create a variable for an execution (not considering parent scopes).
      void setVariables​(java.lang.String executionId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
      Update or create given variables for an execution (including parent scopes).
      void setVariablesLocal​(java.lang.String executionId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
      Update or create given variables for an execution (not considering parent scopes).
      void signal​(java.lang.String executionId)  
      void signal​(java.lang.String executionId, java.util.Map<java.lang.String,​java.lang.Object> processVariables)  
      void signalEventReceived​(java.lang.String signalName)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceived​(java.lang.String signalName, java.lang.String executionId)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceived​(java.lang.String signalName, java.lang.String executionId, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceived​(java.lang.String signalName, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceivedAsync​(java.lang.String signalName)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceivedAsync​(java.lang.String signalName, java.lang.String executionId)
      Notifies the process engine that a signal event of name 'signalName' has been received.
      void signalEventReceivedAsyncWithTenantId​(java.lang.String signalName, java.lang.String tenantId)
      Similar to RuntimeService.signalEventReceivedAsync(String), but within the context of one tenant.
      void signalEventReceivedWithTenantId​(java.lang.String signalName, java.lang.String tenantId)
      Similar to RuntimeService.signalEventReceived(String), but within the context of one tenant.
      void signalEventReceivedWithTenantId​(java.lang.String signalName, java.util.Map<java.lang.String,​java.lang.Object> processVariables, java.lang.String tenantId)
      Similar to #signalEventReceived(String, Map), but within the context of one tenant.
      ProcessInstance startProcessInstance​(ProcessInstanceBuilderImpl processInstanceBuilder)  
      ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId)
      Starts a new process instance in the exactly specified version of the process definition with the given id.
      ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId, java.lang.String businessKey)
      Starts a new process instance in the exactly specified version of the process definition with the given id.
      ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId, java.lang.String businessKey, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Starts a new process instance in the exactly specified version of the process definition with the given id.
      ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Starts a new process instance in the exactly specified version of the process definition with the given id.
      ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey)
      Starts a new process instance in the latest version of the process definition with the given key.
      ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey, java.lang.String businessKey)
      Starts a new process instance in the latest version of the process definition with the given key.
      ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey, java.lang.String businessKey, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Starts a new process instance in the latest version of the process definition with the given key.
      ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Starts a new process instance in the latest version of the process definition with the given key
      ProcessInstance startProcessInstanceByKeyAndTenantId​(java.lang.String processDefinitionKey, java.lang.String tenantId)
      Similar to RuntimeService.startProcessInstanceByKey(String), but using a specific tenant identifier.
      ProcessInstance startProcessInstanceByKeyAndTenantId​(java.lang.String processDefinitionKey, java.lang.String businessKey, java.lang.String tenantId)
      Similar to RuntimeService.startProcessInstanceByKey(String, String), but using a specific tenant identifier.
      ProcessInstance startProcessInstanceByKeyAndTenantId​(java.lang.String processDefinitionKey, java.lang.String businessKey, java.util.Map<java.lang.String,​java.lang.Object> variables, java.lang.String tenantId)
      Similar to RuntimeService.startProcessInstanceByKey(String, String, Map), but using a specific tenant identifier.
      ProcessInstance startProcessInstanceByKeyAndTenantId​(java.lang.String processDefinitionKey, java.util.Map<java.lang.String,​java.lang.Object> variables, java.lang.String tenantId)
      Similar to RuntimeService.startProcessInstanceByKey(String, Map), but using a specific tenant identifier.
      ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName)
      Signals the process engine that a message is received and starts a new ProcessInstance.
      ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName, java.lang.String businessKey)
      Signals the process engine that a message is received and starts a new ProcessInstance.
      ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName, java.lang.String businessKey, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Signals the process engine that a message is received and starts a new ProcessInstance.
      ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Signals the process engine that a message is received and starts a new ProcessInstance.
      ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName, java.lang.String tenantId)
      Similar to RuntimeService.startProcessInstanceByMessage(String), but with tenant context.
      ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName, java.lang.String businessKey, java.lang.String tenantId)
      ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName, java.lang.String businessKey, java.util.Map<java.lang.String,​java.lang.Object> processVariables, java.lang.String tenantId)
      Similar to RuntimeService#startProcessInstanceByMessage(String, String, Map), but with tenant context.
      ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName, java.util.Map<java.lang.String,​java.lang.Object> processVariables, java.lang.String tenantId)
      Similar to RuntimeService#startProcessInstanceByMessage(String, Map), but with tenant context.
      void suspendProcessInstanceById​(java.lang.String processInstanceId)
      Suspends the process instance with the given id.
      void trigger​(java.lang.String executionId)
      Sends an external trigger to an activity instance that is waiting inside the given execution.
      void trigger​(java.lang.String executionId, java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      Sends an external trigger to an activity instance that is waiting inside the given execution.
      void trigger​(java.lang.String executionId, java.util.Map<java.lang.String,​java.lang.Object> processVariables, java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
      Similar to RuntimeService.trigger(String, Map), but with an extra parameter that allows to pass transient variables.
      void updateBusinessKey​(java.lang.String processInstanceId, java.lang.String businessKey)
      Updates the business key for the provided process instance
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RuntimeServiceImpl

        public RuntimeServiceImpl()
    • Method Detail

      • startProcessInstanceByKey

        public ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey)
        Description copied from interface: RuntimeService
        Starts a new process instance in the latest version of the process definition with the given key.
        Specified by:
        startProcessInstanceByKey in interface RuntimeService
        Parameters:
        processDefinitionKey - key of process definition, cannot be null.
      • startProcessInstanceByKey

        public ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey,
                                                         java.lang.String businessKey)
        Description copied from interface: RuntimeService
        Starts a new process instance in the latest version of the process definition with the given key. A business key can be provided to associate the process instance with a certain identifier that has a clear business meaning. For example in an order process, the business key could be an order id. This business key can then be used to easily look up that process instance , see ProcessInstanceQuery.processInstanceBusinessKey(String). Providing such a business key is definitely a best practice.
        Specified by:
        startProcessInstanceByKey in interface RuntimeService
        Parameters:
        processDefinitionKey - key of process definition, cannot be null.
        businessKey - a key that uniquely identifies the process instance in the context or the given process definition.
      • startProcessInstanceByKey

        public ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey,
                                                         java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Starts a new process instance in the latest version of the process definition with the given key
        Specified by:
        startProcessInstanceByKey in interface RuntimeService
        Parameters:
        processDefinitionKey - key of process definition, cannot be null.
        variables - the variables to pass, can be null.
      • startProcessInstanceByKey

        public ProcessInstance startProcessInstanceByKey​(java.lang.String processDefinitionKey,
                                                         java.lang.String businessKey,
                                                         java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Starts a new process instance in the latest version of the process definition with the given key. A business key can be provided to associate the process instance with a certain identifier that has a clear business meaning. For example in an order process, the business key could be an order id. This business key can then be used to easily look up that process instance , see ProcessInstanceQuery.processInstanceBusinessKey(String). Providing such a business key is definitely a best practice. The combination of processdefinitionKey-businessKey must be unique.
        Specified by:
        startProcessInstanceByKey in interface RuntimeService
        Parameters:
        processDefinitionKey - key of process definition, cannot be null.
        businessKey - a key that uniquely identifies the process instance in the context or the given process definition.
        variables - the variables to pass, can be null.
      • startProcessInstanceById

        public ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId)
        Description copied from interface: RuntimeService
        Starts a new process instance in the exactly specified version of the process definition with the given id.
        Specified by:
        startProcessInstanceById in interface RuntimeService
        Parameters:
        processDefinitionId - the id of the process definition, cannot be null.
      • startProcessInstanceById

        public ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId,
                                                        java.lang.String businessKey)
        Description copied from interface: RuntimeService
        Starts a new process instance in the exactly specified version of the process definition with the given id. A business key can be provided to associate the process instance with a certain identifier that has a clear business meaning. For example in an order process, the business key could be an order id. This business key can then be used to easily look up that process instance , see ProcessInstanceQuery.processInstanceBusinessKey(String). Providing such a business key is definitely a best practice.
        Specified by:
        startProcessInstanceById in interface RuntimeService
        Parameters:
        processDefinitionId - the id of the process definition, cannot be null.
        businessKey - a key that uniquely identifies the process instance in the context or the given process definition.
      • startProcessInstanceById

        public ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId,
                                                        java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Starts a new process instance in the exactly specified version of the process definition with the given id.
        Specified by:
        startProcessInstanceById in interface RuntimeService
        Parameters:
        processDefinitionId - the id of the process definition, cannot be null.
        variables - variables to be passed, can be null
      • startProcessInstanceById

        public ProcessInstance startProcessInstanceById​(java.lang.String processDefinitionId,
                                                        java.lang.String businessKey,
                                                        java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Starts a new process instance in the exactly specified version of the process definition with the given id. A business key can be provided to associate the process instance with a certain identifier that has a clear business meaning. For example in an order process, the business key could be an order id. This business key can then be used to easily look up that process instance , see ProcessInstanceQuery.processInstanceBusinessKey(String). Providing such a business key is definitely a best practice.
        Specified by:
        startProcessInstanceById in interface RuntimeService
        Parameters:
        processDefinitionId - the id of the process definition, cannot be null.
        variables - variables to be passed, can be null
      • deleteProcessInstance

        public void deleteProcessInstance​(java.lang.String processInstanceId,
                                          java.lang.String deleteReason)
        Description copied from interface: RuntimeService
        Delete an existing runtime process instance.
        Specified by:
        deleteProcessInstance in interface RuntimeService
        Parameters:
        processInstanceId - id of process instance to delete, cannot be null.
        deleteReason - reason for deleting, can be null.
      • updateBusinessKey

        public void updateBusinessKey​(java.lang.String processInstanceId,
                                      java.lang.String businessKey)
        Description copied from interface: RuntimeService
        Updates the business key for the provided process instance
        Specified by:
        updateBusinessKey in interface RuntimeService
        Parameters:
        processInstanceId - id of the process instance to set the business key, cannot be null
        businessKey - new businessKey value
      • getVariables

        public java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All variables visible from the given execution scope (including parent scopes).
        Specified by:
        getVariables in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariableInstances

        public java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All variables visible from the given execution scope (including parent scopes).
        Specified by:
        getVariableInstances in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the variable instances or an empty map if no such variables are found.
      • getVariableInstancesByExecutionIds

        public java.util.List<VariableInstance> getVariableInstancesByExecutionIds​(java.util.Set<java.lang.String> executionIds)
        Description copied from interface: RuntimeService
        All variables visible from the given execution scope (including parent scopes).
        Specified by:
        getVariableInstancesByExecutionIds in interface RuntimeService
        Parameters:
        executionIds - ids of execution, cannot be null.
        Returns:
        the variables.
      • getVariablesLocal

        public java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All variable values that are defined in the execution scope, without taking outer scopes into account. If you have many task local variables and you only need a few, consider using RuntimeService.getVariablesLocal(String, Collection) for better performance.
        Specified by:
        getVariablesLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariableInstancesLocal

        public java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All variable values that are defined in the execution scope, without taking outer scopes into account. If you have many task local variables and you only need a few, consider using RuntimeService.getVariableInstancesLocal(String, Collection) for better performance.
        Specified by:
        getVariableInstancesLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariables

        public java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String executionId,
                                                                                   java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        The variable values for all given variableNames, takes all variables into account which are visible from the given execution scope (including parent scopes).
        Specified by:
        getVariables in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableNames - the collection of variable names that should be retrieved.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariableInstances

        public java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String executionId,
                                                                                           java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        The variable values for all given variableNames, takes all variables into account which are visible from the given execution scope (including parent scopes).
        Specified by:
        getVariableInstances in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableNames - the collection of variable names that should be retrieved.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariablesLocal

        public java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String executionId,
                                                                                        java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
        Specified by:
        getVariablesLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableNames - the collection of variable names that should be retrieved.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariableInstancesLocal

        public java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String executionId,
                                                                                                java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
        Specified by:
        getVariableInstancesLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableNames - the collection of variable names that should be retrieved.
        Returns:
        the variables or an empty map if no such variables are found.
      • getVariable

        public java.lang.Object getVariable​(java.lang.String executionId,
                                            java.lang.String variableName)
        Description copied from interface: RuntimeService
        The variable value. Searching for the variable is done in all scopes that are visible to the given execution (including parent scopes). Returns null when no variable value is found with the given name or when the value is set to null.
        Specified by:
        getVariable in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableName - name of variable, cannot be null.
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null.
      • getVariableInstance

        public VariableInstance getVariableInstance​(java.lang.String executionId,
                                                    java.lang.String variableName)
        Description copied from interface: RuntimeService
        The variable. Searching for the variable is done in all scopes that are visible to the given execution (including parent scopes). Returns null when no variable value is found with the given name or when the value is set to null.
        Specified by:
        getVariableInstance in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableName - name of variable, cannot be null.
        Returns:
        the variable or null if the variable is undefined.
      • getVariable

        public <T> T getVariable​(java.lang.String executionId,
                                 java.lang.String variableName,
                                 java.lang.Class<T> variableClass)
        Description copied from interface: RuntimeService
        The variable value. Searching for the variable is done in all scopes that are visible to the given execution (including parent scopes). Returns null when no variable value is found with the given name or when the value is set to null. Throws ClassCastException when cannot cast variable to given class
        Specified by:
        getVariable in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableName - name of variable, cannot be null.
        variableClass - name of variable, cannot be null.
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null.
      • hasVariable

        public boolean hasVariable​(java.lang.String executionId,
                                   java.lang.String variableName)
        Description copied from interface: RuntimeService
        Check whether or not this execution has variable set with the given name, Searching for the variable is done in all scopes that are visible to the given execution (including parent scopes).
        Specified by:
        hasVariable in interface RuntimeService
      • getVariableLocal

        public java.lang.Object getVariableLocal​(java.lang.String executionId,
                                                 java.lang.String variableName)
        Description copied from interface: RuntimeService
        The variable value for an execution. Returns the value when the variable is set for the execution (and not searching parent scopes). Returns null when no variable value is found with the given name or when the value is set to null.
        Specified by:
        getVariableLocal in interface RuntimeService
      • getVariableInstanceLocal

        public VariableInstance getVariableInstanceLocal​(java.lang.String executionId,
                                                         java.lang.String variableName)
        Description copied from interface: RuntimeService
        The variable for an execution. Returns the variable when it is set for the execution (and not searching parent scopes). Returns null when no variable is found with the given name or when the value is set to null.
        Specified by:
        getVariableInstanceLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        variableName - name of variable, cannot be null.
        Returns:
        the variable or null if the variable is undefined.
      • getVariableLocal

        public <T> T getVariableLocal​(java.lang.String executionId,
                                      java.lang.String variableName,
                                      java.lang.Class<T> variableClass)
        Description copied from interface: RuntimeService
        The variable value for an execution. Returns the value casted to given class when the variable is set for the execution (and not searching parent scopes). Returns null when no variable value is found with the given name or when the value is set to null.
        Specified by:
        getVariableLocal in interface RuntimeService
      • hasVariableLocal

        public boolean hasVariableLocal​(java.lang.String executionId,
                                        java.lang.String variableName)
        Description copied from interface: RuntimeService
        Check whether or not this execution has a local variable set with the given name.
        Specified by:
        hasVariableLocal in interface RuntimeService
      • setVariable

        public void setVariable​(java.lang.String executionId,
                                java.lang.String variableName,
                                java.lang.Object value)
        Description copied from interface: RuntimeService
        Update or create a variable for an execution.

        The variable is set according to the algorithm as documented for VariableScope.setVariable(String, Object).

        Specified by:
        setVariable in interface RuntimeService
        Parameters:
        executionId - id of execution to set variable in, cannot be null.
        variableName - name of variable to set, cannot be null.
        value - value to set. When null is passed, the variable is not removed, only it's value will be set to null.
        See Also:
        VariableScope.setVariable(String, Object)
      • setVariableLocal

        public void setVariableLocal​(java.lang.String executionId,
                                     java.lang.String variableName,
                                     java.lang.Object value)
        Description copied from interface: RuntimeService
        Update or create a variable for an execution (not considering parent scopes). If the variable is not already existing, it will be created in the given execution.
        Specified by:
        setVariableLocal in interface RuntimeService
        Parameters:
        executionId - id of execution to set variable in, cannot be null.
        variableName - name of variable to set, cannot be null.
        value - value to set. When null is passed, the variable is not removed, only it's value will be set to null.
      • setVariables

        public void setVariables​(java.lang.String executionId,
                                 java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Update or create given variables for an execution (including parent scopes).

        Variables are set according to the algorithm as documented for VariableScope.setVariables(Map), applied separately to each variable.

        Specified by:
        setVariables in interface RuntimeService
        Parameters:
        executionId - id of the execution, cannot be null.
        variables - map containing name (key) and value of variables, can be null.
        See Also:
        VariableScope.setVariables(Map)
      • setVariablesLocal

        public void setVariablesLocal​(java.lang.String executionId,
                                      java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
        Description copied from interface: RuntimeService
        Update or create given variables for an execution (not considering parent scopes). If the variables are not already existing, it will be created in the given execution.
        Specified by:
        setVariablesLocal in interface RuntimeService
        Parameters:
        executionId - id of the execution, cannot be null.
        variables - map containing name (key) and value of variables, can be null.
      • removeVariable

        public void removeVariable​(java.lang.String executionId,
                                   java.lang.String variableName)
        Description copied from interface: RuntimeService
        Removes a variable for an execution.
        Specified by:
        removeVariable in interface RuntimeService
        Parameters:
        executionId - id of execution to remove variable in.
        variableName - name of variable to remove.
      • removeVariableLocal

        public void removeVariableLocal​(java.lang.String executionId,
                                        java.lang.String variableName)
        Description copied from interface: RuntimeService
        Removes a variable for an execution (not considering parent scopes).
        Specified by:
        removeVariableLocal in interface RuntimeService
        Parameters:
        executionId - id of execution to remove variable in.
        variableName - name of variable to remove.
      • removeVariables

        public void removeVariables​(java.lang.String executionId,
                                    java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        Removes variables for an execution.
        Specified by:
        removeVariables in interface RuntimeService
        Parameters:
        executionId - id of execution to remove variable in.
        variableNames - collection containing name of variables to remove.
      • removeVariablesLocal

        public void removeVariablesLocal​(java.lang.String executionId,
                                         java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: RuntimeService
        Remove variables for an execution (not considering parent scopes).
        Specified by:
        removeVariablesLocal in interface RuntimeService
        Parameters:
        executionId - id of execution to remove variable in.
        variableNames - collection containing name of variables to remove.
      • getDataObjects

        public java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All DataObjects visible from the given execution scope (including parent scopes).
        Specified by:
        getDataObjects in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the DataObjects or an empty map if no such variables are found.
      • getDataObjects

        public java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId,
                                                                               java.lang.String locale,
                                                                               boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        All DataObjects visible from the given execution scope (including parent scopes).
        Specified by:
        getDataObjects in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
        Returns:
        the DataObjects or an empty map if no DataObjects are found.
      • getDataObjectsLocal

        public java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        All DataObject values that are defined in the execution scope, without taking outer scopes into account. If you have many local DataObjects and you only need a few, consider using RuntimeService.getDataObjectsLocal(String, Collection) for better performance.
        Specified by:
        getDataObjectsLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the DataObjects or an empty map if no DataObjects are found.
      • getDataObjectsLocal

        public java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId,
                                                                                    java.lang.String locale,
                                                                                    boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        All DataObject values that are defined in the execution scope, without taking outer scopes into account. If you have many local DataObjects and you only need a few, consider using RuntimeService.getDataObjectsLocal(String, Collection) for better performance.
        Specified by:
        getDataObjectsLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
        Returns:
        the DataObjects or an empty map if no such variables are found.
      • getDataObjects

        public java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId,
                                                                               java.util.Collection<java.lang.String> dataObjectNames)
        Description copied from interface: RuntimeService
        The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given execution scope (including parent scopes).
        Specified by:
        getDataObjects in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectNames - the collection of DataObject names that should be retrieved.
        Returns:
        the DataObject or an empty map if no DataObjects are found.
      • getDataObjects

        public java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String executionId,
                                                                               java.util.Collection<java.lang.String> dataObjectNames,
                                                                               java.lang.String locale,
                                                                               boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given execution scope (including parent scopes).
        Specified by:
        getDataObjects in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectNames - the collection of DataObject names that should be retrieved.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
        Returns:
        the DataObjects or an empty map if no such dataObjects are found.
      • getDataObjectsLocal

        public java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId,
                                                                                    java.util.Collection<java.lang.String> dataObjects)
        Description copied from interface: RuntimeService
        The DataObjects for the given dataObjectNames only taking the given execution scope into account, not looking in outer scopes.
        Specified by:
        getDataObjectsLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the DataObjects or an empty map if no DataObjects are found.
      • getDataObjectsLocal

        public java.util.Map<java.lang.String,​DataObject> getDataObjectsLocal​(java.lang.String executionId,
                                                                                    java.util.Collection<java.lang.String> dataObjectNames,
                                                                                    java.lang.String locale,
                                                                                    boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        The DataObjects for the given dataObjectNames only taking the given execution scope into account, not looking in outer scopes.
        Specified by:
        getDataObjectsLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectNames - the collection of DataObject names that should be retrieved.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
        Returns:
        the DataObjects or an empty map if no DataObjects are found.
      • getDataObject

        public DataObject getDataObject​(java.lang.String executionId,
                                        java.lang.String dataObject)
        Description copied from interface: RuntimeService
        The DataObject. Searching for the DataObject is done in all scopes that are visible to the given execution (including parent scopes). Returns null when no DataObject value is found with the given name or when the value is set to null.
        Specified by:
        getDataObject in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        Returns:
        the DataObject or null if the variable is undefined.
      • getDataObject

        public DataObject getDataObject​(java.lang.String executionId,
                                        java.lang.String dataObjectName,
                                        java.lang.String locale,
                                        boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        The DataObject. Searching for the DataObject is done in all scopes that are visible to the given execution (including parent scopes). Returns null when no DataObject value is found with the given name or when the value is set to null.
        Specified by:
        getDataObject in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectName - name of DataObject, cannot be null.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales including the default locale of the JVM if the specified locale is not found.
        Returns:
        the DataObject or null if the DataObject is undefined.
      • getDataObjectLocal

        public DataObject getDataObjectLocal​(java.lang.String executionId,
                                             java.lang.String dataObjectName)
        Description copied from interface: RuntimeService
        The DataObject for an execution. Returns the DataObject when it is set for the execution (and not searching parent scopes). Returns null when no DataObject is found with the given name.
        Specified by:
        getDataObjectLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectName - name of DataObject, cannot be null.
        Returns:
        the DataObject or null if the DataObject is undefined.
      • getDataObjectLocal

        public DataObject getDataObjectLocal​(java.lang.String executionId,
                                             java.lang.String dataObjectName,
                                             java.lang.String locale,
                                             boolean withLocalizationFallback)
        Description copied from interface: RuntimeService
        The DataObject for an execution. Returns the DataObject when it is set for the execution (and not searching parent scopes). Returns null when no DataObject is found with the given name.
        Specified by:
        getDataObjectLocal in interface RuntimeService
        Parameters:
        executionId - id of execution, cannot be null.
        dataObjectName - name of DataObject, cannot be null.
        locale - locale the DataObject name and description should be returned in (if available).
        withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
        Returns:
        the DataObject or null if the DataObject is undefined.
      • signal

        public void signal​(java.lang.String executionId)
      • trigger

        public void trigger​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        Sends an external trigger to an activity instance that is waiting inside the given execution.
        Specified by:
        trigger in interface RuntimeService
        Parameters:
        executionId - id of execution to signal, cannot be null.
      • signal

        public void signal​(java.lang.String executionId,
                           java.util.Map<java.lang.String,​java.lang.Object> processVariables)
      • trigger

        public void trigger​(java.lang.String executionId,
                            java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService
        Sends an external trigger to an activity instance that is waiting inside the given execution.
        Specified by:
        trigger in interface RuntimeService
        Parameters:
        executionId - id of execution to signal, cannot be null.
        processVariables - a map of process variables
      • trigger

        public void trigger​(java.lang.String executionId,
                            java.util.Map<java.lang.String,​java.lang.Object> processVariables,
                            java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
        Description copied from interface: RuntimeService
        Similar to RuntimeService.trigger(String, Map), but with an extra parameter that allows to pass transient variables.
        Specified by:
        trigger in interface RuntimeService
      • addUserIdentityLink

        public void addUserIdentityLink​(java.lang.String processInstanceId,
                                        java.lang.String userId,
                                        java.lang.String identityLinkType)
        Description copied from interface: RuntimeService
        Involves a user with a process instance. The type of identity link is defined by the given identityLinkType.
        Specified by:
        addUserIdentityLink in interface RuntimeService
        Parameters:
        processInstanceId - id of the process instance, cannot be null.
        userId - id of the user involve, cannot be null.
        identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).
      • addGroupIdentityLink

        public void addGroupIdentityLink​(java.lang.String processInstanceId,
                                         java.lang.String groupId,
                                         java.lang.String identityLinkType)
        Description copied from interface: RuntimeService
        Involves a group with a process instance. The type of identityLink is defined by the given identityLink.
        Specified by:
        addGroupIdentityLink in interface RuntimeService
        Parameters:
        processInstanceId - id of the process instance, cannot be null.
        groupId - id of the group to involve, cannot be null.
        identityLinkType - type of identity, cannot be null (@see IdentityLinkType).
      • deleteUserIdentityLink

        public void deleteUserIdentityLink​(java.lang.String processInstanceId,
                                           java.lang.String userId,
                                           java.lang.String identityLinkType)
        Description copied from interface: RuntimeService
        Removes the association between a user and a process instance for the given identityLinkType.
        Specified by:
        deleteUserIdentityLink in interface RuntimeService
        Parameters:
        processInstanceId - id of the process instance, cannot be null.
        userId - id of the user involve, cannot be null.
        identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).
      • deleteGroupIdentityLink

        public void deleteGroupIdentityLink​(java.lang.String processInstanceId,
                                            java.lang.String groupId,
                                            java.lang.String identityLinkType)
        Description copied from interface: RuntimeService
        Removes the association between a group and a process instance for the given identityLinkType.
        Specified by:
        deleteGroupIdentityLink in interface RuntimeService
        Parameters:
        processInstanceId - id of the process instance, cannot be null.
        groupId - id of the group to involve, cannot be null.
        identityLinkType - type of identity, cannot be null (@see IdentityLinkType).
      • getActiveActivityIds

        public java.util.List<java.lang.String> getActiveActivityIds​(java.lang.String executionId)
        Description copied from interface: RuntimeService
        Finds the activity ids for all executions that are waiting in activities. This is a list because a single activity can be active multiple times.
        Specified by:
        getActiveActivityIds in interface RuntimeService
        Parameters:
        executionId - id of the execution, cannot be null.
      • suspendProcessInstanceById

        public void suspendProcessInstanceById​(java.lang.String processInstanceId)
        Description copied from interface: RuntimeService
        Suspends the process instance with the given id. If a process instance is in state suspended, activiti will not execute jobs (timers, messages) associated with this instance. If you have a process instance hierarchy, suspending one process instance form the hierarchy will not suspend other process instances form that hierarchy.
        Specified by:
        suspendProcessInstanceById in interface RuntimeService
      • activateProcessInstanceById

        public void activateProcessInstanceById​(java.lang.String processInstanceId)
        Description copied from interface: RuntimeService
        Activates the process instance with the given id. If you have a process instance hierarchy, suspending one process instance form the hierarchy will not suspend other process instances form that hierarchy.
        Specified by:
        activateProcessInstanceById in interface RuntimeService
      • startProcessInstanceByMessage

        public ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName)
        Description copied from interface: RuntimeService

        Signals the process engine that a message is received and starts a new ProcessInstance.

        Calling this method can have two different outcomes:

        • If the message name is associated with a message start event, a new process instance is started.
        • If no subscription to a message with the given name exists, ActivitiException is thrown

        Specified by:
        startProcessInstanceByMessage in interface RuntimeService
        Parameters:
        messageName - the 'name' of the message as specified as an attribute on the bpmn20 <message name="messageName" /> element.
        Returns:
        the ProcessInstance object representing the started process instance
      • startProcessInstanceByMessage

        public ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName,
                                                             java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService

        Signals the process engine that a message is received and starts a new ProcessInstance.

        See RuntimeService.startProcessInstanceByMessage(String). In addition, this method allows specifying a the payload of the message as a map of process variables.
        Specified by:
        startProcessInstanceByMessage in interface RuntimeService
        Parameters:
        messageName - the 'name' of the message as specified as an attribute on the bpmn20 <message name="messageName" /> element.
        processVariables - the 'payload' of the message. The variables are added as processes variables to the started process instance.
        Returns:
        the ProcessInstance object representing the started process instance
      • startProcessInstanceByMessageAndTenantId

        public ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName,
                                                                        java.util.Map<java.lang.String,​java.lang.Object> processVariables,
                                                                        java.lang.String tenantId)
        Description copied from interface: RuntimeService
        Similar to RuntimeService#startProcessInstanceByMessage(String, Map), but with tenant context.
        Specified by:
        startProcessInstanceByMessageAndTenantId in interface RuntimeService
      • startProcessInstanceByMessage

        public ProcessInstance startProcessInstanceByMessage​(java.lang.String messageName,
                                                             java.lang.String businessKey,
                                                             java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService

        Signals the process engine that a message is received and starts a new ProcessInstance.

        See RuntimeService.startProcessInstanceByMessage(String, Map). In addition, this method allows specifying a business key.
        Specified by:
        startProcessInstanceByMessage in interface RuntimeService
        Parameters:
        messageName - the 'name' of the message as specified as an attribute on the bpmn20 <message name="messageName" /> element.
        businessKey - the business key which is added to the started process instance
        processVariables - the 'payload' of the message. The variables are added as processes variables to the started process instance.
        Returns:
        the ProcessInstance object representing the started process instance
      • startProcessInstanceByMessageAndTenantId

        public ProcessInstance startProcessInstanceByMessageAndTenantId​(java.lang.String messageName,
                                                                        java.lang.String businessKey,
                                                                        java.util.Map<java.lang.String,​java.lang.Object> processVariables,
                                                                        java.lang.String tenantId)
        Description copied from interface: RuntimeService
        Similar to RuntimeService#startProcessInstanceByMessage(String, String, Map), but with tenant context.
        Specified by:
        startProcessInstanceByMessageAndTenantId in interface RuntimeService
      • signalEventReceived

        public void signalEventReceived​(java.lang.String signalName)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to all executions waiting on the signal.

        NOTE: The waiting executions are notified synchronously.

        Specified by:
        signalEventReceived in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
      • signalEventReceivedAsync

        public void signalEventReceivedAsync​(java.lang.String signalName)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to all executions waiting on the signal.

        Specified by:
        signalEventReceivedAsync in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
      • signalEventReceived

        public void signalEventReceived​(java.lang.String signalName,
                                        java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to all executions waiting on the signal.

        NOTE: The waiting executions are notified synchronously.

        Specified by:
        signalEventReceived in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
        processVariables - a map of variables added to the execution(s)
      • signalEventReceivedWithTenantId

        public void signalEventReceivedWithTenantId​(java.lang.String signalName,
                                                    java.util.Map<java.lang.String,​java.lang.Object> processVariables,
                                                    java.lang.String tenantId)
        Description copied from interface: RuntimeService
        Similar to #signalEventReceived(String, Map), but within the context of one tenant.
        Specified by:
        signalEventReceivedWithTenantId in interface RuntimeService
      • signalEventReceived

        public void signalEventReceived​(java.lang.String signalName,
                                        java.lang.String executionId)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to a single execution, being the execution referenced by 'executionId'. The waiting execution is notified synchronously.
        Specified by:
        signalEventReceived in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
        executionId - the id of the execution to deliver the signal to
      • signalEventReceived

        public void signalEventReceived​(java.lang.String signalName,
                                        java.lang.String executionId,
                                        java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to a single execution, being the execution referenced by 'executionId'. The waiting execution is notified synchronously.
        Specified by:
        signalEventReceived in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
        executionId - the id of the execution to deliver the signal to
        processVariables - a map of variables added to the execution(s)
      • signalEventReceivedAsync

        public void signalEventReceivedAsync​(java.lang.String signalName,
                                             java.lang.String executionId)
        Description copied from interface: RuntimeService
        Notifies the process engine that a signal event of name 'signalName' has been received. This method delivers the signal to a single execution, being the execution referenced by 'executionId'. The waiting execution is notified asynchronously.
        Specified by:
        signalEventReceivedAsync in interface RuntimeService
        Parameters:
        signalName - the name of the signal event
        executionId - the id of the execution to deliver the signal to
      • messageEventReceived

        public void messageEventReceived​(java.lang.String messageName,
                                         java.lang.String executionId)
        Description copied from interface: RuntimeService
        Notifies the process engine that a message event with name 'messageName' has been received and has been correlated to an execution with id 'executionId'. The waiting execution is notified synchronously.
        Specified by:
        messageEventReceived in interface RuntimeService
        Parameters:
        messageName - the name of the message event
        executionId - the id of the execution to deliver the message to
      • messageEventReceived

        public void messageEventReceived​(java.lang.String messageName,
                                         java.lang.String executionId,
                                         java.util.Map<java.lang.String,​java.lang.Object> processVariables)
        Description copied from interface: RuntimeService
        Notifies the process engine that a message event with the name 'messageName' has been received and has been correlated to an execution with id 'executionId'. The waiting execution is notified synchronously.

        Variables are set for the scope of the execution of the message event subscribed to the message name. For example:

      • The scope for an intermediate message event in the main process is that of the process instance
      • The scope for an intermediate message event in a subprocess is that of the subprocess
      • The scope for a boundary message event is that of the execution for the Activity the event is attached to
      • Variables are set according to the algorithm as documented for VariableScope.setVariables(Map), applied separately to each variable.

Specified by:
messageEventReceived in interface RuntimeService
Parameters:
messageName - the name of the message event
executionId - the id of the execution to deliver the message to
processVariables - a map of variables added to the execution
See Also:
VariableScope.setVariables(Map)