public interface RuntimeService
Modifier and Type | Method and Description |
---|---|
void |
activateProcessInstanceById(String processInstanceId)
Activates the process instance with the given id.
|
void |
activateProcessInstanceByProcessDefinitionId(String processDefinitionId)
Activates the process instance with the given process definition id.
|
void |
activateProcessInstanceByProcessDefinitionKey(String processDefinitionKey)
Activates the process instance with the given process definition key.
|
void |
correlateMessage(String messageName)
Correlates a message to either an execution that is waiting for this message or a process definition
that can be started by this message.
|
void |
correlateMessage(String messageName,
Map<String,Object> correlationKeys)
Correlates a message to
an execution that is waiting for a matching message and can be correlated according
to the given correlation keys.
|
void |
correlateMessage(String messageName,
Map<String,Object> correlationKeys,
Map<String,Object> processVariables)
Correlates a message to
an execution that is waiting for a matching message and can be correlated according
to the given correlation keys.
|
void |
correlateMessage(String messageName,
String businessKey)
Correlates a message to
an execution that is waiting for a matching message and belongs to a process instance with the given business key
a process definition that can be started by a matching message.
|
void |
correlateMessage(String messageName,
String businessKey,
Map<String,Object> processVariables)
Correlates a message to
an execution that is waiting for a matching message and belongs to a process instance with the given business key
a process definition that can be started by this message.
|
void |
correlateMessage(String messageName,
String businessKey,
Map<String,Object> correlationKeys,
Map<String,Object> processVariables)
Correlates a message to
an execution that is waiting for a matching message and can be correlated according
to the given correlation keys.
|
EventSubscriptionQuery |
createEventSubscriptionQuery()
Creates a new
EventSubscriptionQuery instance, that can be used to query
event subscriptions. |
ExecutionQuery |
createExecutionQuery()
Creates a new
ExecutionQuery instance,
that can be used to query the executions and process instances. |
IncidentQuery |
createIncidentQuery()
Creates a new
IncidentQuery instance, that can be used
to query incidents. |
MessageCorrelationBuilder |
createMessageCorrelation(String messageName)
Define a complex message correlation using a fluent builder.
|
MigrationPlanBuilder |
createMigrationPlan(String sourceProcessDefinitionId,
String targetProcessDefinitionId)
Creates a migration plan to migrate process instance between different process definitions.
|
ModificationBuilder |
createModification(String processDefinitionId)
Creates a modification of multiple process instances in terms of activity cancellations
and instantiations via a fluent builder.
|
NativeExecutionQuery |
createNativeExecutionQuery()
creates a new
NativeExecutionQuery to query Execution s
by SQL directly |
NativeProcessInstanceQuery |
createNativeProcessInstanceQuery()
creates a new
NativeProcessInstanceQuery to query ProcessInstance s
by SQL directly |
ProcessInstantiationBuilder |
createProcessInstanceById(String processDefinitionId)
Returns a fluent builder to start a new process instance in the exactly
specified version of the process definition with the given id.
|
ProcessInstantiationBuilder |
createProcessInstanceByKey(String processDefinitionKey)
Returns a fluent builder to start a new process instance in the latest
version of the process definition with the given key.
|
ProcessInstanceModificationBuilder |
createProcessInstanceModification(String processInstanceId)
Define a modification of a process instance in terms of activity cancellations
and instantiations via a fluent builder.
|
ProcessInstanceQuery |
createProcessInstanceQuery()
Creates a new
ProcessInstanceQuery instance, that can be used
to query process instances. |
SignalEventReceivedBuilder |
createSignalEvent(String signalName)
Notifies the process engine that a signal event has been received using a
fluent builder.
|
VariableInstanceQuery |
createVariableInstanceQuery()
Creates a new
VariableInstanceQuery instance, that can be used to query
variable instances. |
void |
deleteProcessInstance(String processInstanceId,
String deleteReason)
Delete an existing runtime process instance.
|
void |
deleteProcessInstance(String processInstanceId,
String deleteReason,
boolean skipCustomListeners)
Delete an existing runtime process instance.
|
void |
deleteProcessInstance(String processInstanceId,
String deleteReason,
boolean skipCustomListeners,
boolean externallyTerminated)
Delete an existing runtime process instance.
|
void |
deleteProcessInstance(String processInstanceId,
String deleteReason,
boolean skipCustomListeners,
boolean externallyTerminated,
boolean skipIoMappings)
Delete an existing runtime process instance.
|
void |
deleteProcessInstances(List<String> processInstanceIds,
String deleteReason,
boolean skipCustomListeners,
boolean externallyTerminated)
Delete existing runtime process instances.
|
Batch |
deleteProcessInstancesAsync(List<String> processInstanceIds,
ProcessInstanceQuery processInstanceQuery,
String deleteReason)
Delete an existing runtime process instances asynchronously using Batch operation.
|
Batch |
deleteProcessInstancesAsync(List<String> processInstanceIds,
ProcessInstanceQuery processInstanceQuery,
String deleteReason,
boolean skipCustomListeners)
Delete an existing runtime process instances asynchronously using Batch operation.
|
Batch |
deleteProcessInstancesAsync(List<String> processInstanceIds,
String deleteReason)
Delete an existing runtime process instances asynchronously using Batch operation.
|
Batch |
deleteProcessInstancesAsync(ProcessInstanceQuery processInstanceQuery,
String deleteReason)
Delete an existing runtime process instances asynchronously using Batch operation.
|
List<String> |
getActiveActivityIds(String executionId)
Finds the activity ids for all executions that are waiting in activities.
|
ActivityInstance |
getActivityInstance(String processInstanceId)
Allows retrieving the activity instance tree for a given process instance.
|
Object |
getVariable(String executionId,
String variableName)
The variable value.
|
Object |
getVariableLocal(String executionId,
String variableName)
The variable value for an execution.
|
<T extends org.camunda.bpm.engine.variable.value.TypedValue> |
getVariableLocalTyped(String executionId,
String variableName)
Returns a
TypedValue for the variable. |
<T extends org.camunda.bpm.engine.variable.value.TypedValue> |
getVariableLocalTyped(String executionId,
String variableName,
boolean deserializeValue)
Returns a
TypedValue for the variable. |
Map<String,Object> |
getVariables(String executionId)
All variables visible from the given execution scope (including parent scopes).
|
Map<String,Object> |
getVariables(String executionId,
Collection<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).
|
Map<String,Object> |
getVariablesLocal(String executionId)
All variable values that are defined in the execution scope, without taking outer scopes into account.
|
Map<String,Object> |
getVariablesLocal(String executionId,
Collection<String> variableNames)
The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesLocalTyped(String executionId)
All variable values that are defined in the execution scope, without taking outer scopes into account.
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesLocalTyped(String executionId,
boolean deserializeValues)
All variable values that are defined in the execution scope, without taking outer scopes into account.
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesLocalTyped(String executionId,
Collection<String> variableNames,
boolean deserializeValues)
The variable values for the given variableNames only taking the given execution scope into account, not looking in outer scopes.
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesTyped(String executionId)
All variables visible from the given execution scope (including parent scopes).
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesTyped(String executionId,
boolean deserializeValues)
All variables visible from the given execution scope (including parent scopes).
|
org.camunda.bpm.engine.variable.VariableMap |
getVariablesTyped(String executionId,
Collection<String> variableNames,
boolean deserializeValues)
The variable values for all given variableNames, takes all variables into account which are visible from the given execution scope (including parent scopes).
|
<T extends org.camunda.bpm.engine.variable.value.TypedValue> |
getVariableTyped(String executionId,
String variableName)
Returns a
TypedValue for the variable. |
<T extends org.camunda.bpm.engine.variable.value.TypedValue> |
getVariableTyped(String executionId,
String variableName,
boolean deserializeValue)
Returns a
TypedValue for the variable. |
void |
messageEventReceived(String messageName,
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(String messageName,
String executionId,
Map<String,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'.
|
MigrationPlanExecutionBuilder |
newMigration(MigrationPlan migrationPlan)
Executes a migration plan for a given list of process instances.
|
void |
removeVariable(String executionId,
String variableName)
Removes a variable for an execution.
|
void |
removeVariableLocal(String executionId,
String variableName)
Removes a variable for an execution (not considering parent scopes).
|
void |
removeVariables(String executionId,
Collection<String> variableNames)
Removes variables for an execution.
|
void |
removeVariablesLocal(String executionId,
Collection<String> variableNames)
Remove variables for an execution (not considering parent scopes).
|
RestartProcessInstanceBuilder |
restartProcessInstances(String processDefinitionId)
Restarts process instances that are completed or deleted with the initial or last set of variables.
|
void |
setVariable(String executionId,
String variableName,
Object value)
Update or create a variable for an execution.
|
void |
setVariableLocal(String executionId,
String variableName,
Object value)
Update or create a variable for an execution (not considering parent scopes).
|
void |
setVariables(String executionId,
Map<String,? extends Object> variables)
Update or create given variables for an execution (including parent scopes).
|
void |
setVariablesLocal(String executionId,
Map<String,? extends Object> variables)
Update or create given variables for an execution (not considering parent scopes).
|
void |
signal(String executionId)
Sends an external trigger to an activity instance that is waiting inside the given execution.
|
void |
signal(String executionId,
Map<String,Object> processVariables)
Sends an external trigger to an activity instance that is waiting inside the given execution.
|
void |
signal(String executionId,
String signalName,
Object signalData,
Map<String,Object> processVariables)
Sends an external trigger to an activity instance that is waiting inside the given execution.
|
void |
signalEventReceived(String signalName)
Notifies the process engine that a signal event of name 'signalName' has
been received.
|
void |
signalEventReceived(String signalName,
Map<String,Object> processVariables)
Notifies the process engine that a signal event of name 'signalName' has
been received.
|
void |
signalEventReceived(String signalName,
String executionId)
Notifies the process engine that a signal event of name 'signalName' has
been received.
|
void |
signalEventReceived(String signalName,
String executionId,
Map<String,Object> processVariables)
Notifies the process engine that a signal event of name 'signalName' has
been received.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId,
Map<String,Object> variables)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId,
String businessKey)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId,
String businessKey,
Map<String,Object> variables)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId,
String businessKey,
String caseInstanceId)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceById(String processDefinitionId,
String businessKey,
String caseInstanceId,
Map<String,Object> variables)
Starts a new process instance in the exactly specified version of the process definition with the given id.
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey)
Starts a new process instance in the latest version of the process definition with the given key.
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey,
Map<String,Object> variables)
Starts a new process instance in the latest version of the process definition with the given key
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey,
String businessKey)
Starts a new process instance in the latest version of the process
definition with the given key.
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey,
String businessKey,
Map<String,Object> variables)
Starts a new process instance in the latest version of the process definition with the given key.
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey,
String businessKey,
String caseInstanceId)
Starts a new process instance in the latest version of the process
definition with the given key.
|
ProcessInstance |
startProcessInstanceByKey(String processDefinitionKey,
String businessKey,
String caseInstanceId,
Map<String,Object> variables)
Starts a new process instance in the latest version of the process definition with the given key.
|
ProcessInstance |
startProcessInstanceByMessage(String messageName)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessage(String messageName,
Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessage(String messageName,
String businessKey)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessage(String messageName,
String businessKey,
Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessageAndProcessDefinitionId(String messageName,
String processDefinitionId)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessageAndProcessDefinitionId(String messageName,
String processDefinitionId,
Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessageAndProcessDefinitionId(String messageName,
String processDefinitionId,
String businessKey)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
ProcessInstance |
startProcessInstanceByMessageAndProcessDefinitionId(String messageName,
String processDefinitionId,
String businessKey,
Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance . |
void |
suspendProcessInstanceById(String processInstanceId)
Suspends the process instance with the given id.
|
void |
suspendProcessInstanceByProcessDefinitionId(String processDefinitionId)
Suspends the process instances with the given process definition id.
|
void |
suspendProcessInstanceByProcessDefinitionKey(String processDefinitionKey)
Suspends the process instances with the given process definition key.
|
UpdateProcessInstanceSuspensionStateSelectBuilder |
updateProcessInstanceSuspensionState()
Activate or suspend process instances using a fluent builder.
|
ProcessInstance startProcessInstanceByKey(String processDefinitionKey)
processDefinitionKey
- key of process definition, cannot be null.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionKey
- key of process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context
of the given process definition.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionKey
- key of process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context
of the given process definition.caseInstanceId
- an id of a case instance to associate the process instance with
a case instance.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String,Object> variables)
processDefinitionKey
- key of process definition, cannot be null.variables
- the variables to pass, can be null.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String,Object> variables)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added a
database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.
The combination of processdefinitionKey-businessKey must be unique.processDefinitionKey
- key of process definition, cannot be null.variables
- the variables to pass, can be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId, Map<String,Object> variables)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added a
database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.
The combination of processdefinitionKey-businessKey must be unique.processDefinitionKey
- key of process definition, cannot be null.variables
- the variables to pass, can be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.caseInstanceId
- an id of a case instance to associate the process instance with
a case instance.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId)
processDefinitionId
- the id of the process definition, cannot be null.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.caseInstanceId
- an id of a case instance to associate the process instance with
a case instance.ProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String,Object> variables)
processDefinitionId
- the id of the process definition, cannot be null.variables
- variables to be passed, can be nullProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, Map<String,Object> variables)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.variables
- variables to be passed, can be nullProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId, Map<String,Object> variables)
ProcessInstanceQuery.processInstanceBusinessKey(String)
. Providing such a business
key is definitely a best practice.
Note that a business key MUST be unique for the given process definition WHEN you have added
a database constraint for it.
In this case, only Process instance from different process definition are allowed to have the
same business key and the combination of processdefinitionKey-businessKey must be unique.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- a key that uniquely identifies the process instance in the context of the
given process definition.caseInstanceId
- an id of a case instance to associate the process instance with
a case instance.variables
- variables to be passed, can be nullProcessEngineException
- when no process definition is deployed with the given key.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessage(String messageName)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
Calling this method can have two different outcomes:
ProcessEngineException
is thrownmessageName
- the 'name' of the message as specified as an attribute on the
bpmn20 <message name="messageName" />
element.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name existsAuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String, Map)
. This method allows
specifying a business key.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 instanceProcessEngineException
- if no subscription to a message with the given name existsAuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessage(String messageName, Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String)
. In addition, this method allows
specifying a the payload of the message as a map of process variables.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.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name existsAuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey, Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String, Map)
. In addition, this method allows
specifying a business key.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 instanceprocessVariables
- the 'payload' of the message. The variables are added as processes
variables to the started process instance.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name existsAuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessageAndProcessDefinitionId(String messageName, String processDefinitionId)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String)
. In addition, this method allows
specifying the exactly version of the process definition with the given id.messageName
- the 'name' of the message as specified as an attribute on the
bpmn20 <message name="messageName" />
element, cannot be null.processDefinitionId
- the id of the process definition, cannot be null.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name exists for the
specified version of process definition.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessageAndProcessDefinitionId(String messageName, String processDefinitionId, String businessKey)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String, String)
. In addition, this method allows
specifying the exactly version of the process definition with the given id.messageName
- the 'name' of the message as specified as an attribute on the
bpmn20 <message name="messageName" />
element, cannot be null.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- the business key which is added to the started process instanceProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name exists for the
specified version of process definition.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessageAndProcessDefinitionId(String messageName, String processDefinitionId, Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String, Map)
. In addition, this method allows
specifying the exactly version of the process definition with the given id.messageName
- the 'name' of the message as specified as an attribute on the
bpmn20 <message name="messageName" />
element, cannot be null.processDefinitionId
- the id of the process definition, cannot be null.processVariables
- the 'payload' of the message. The variables are added as processes
variables to the started process instance.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name exists for the
specified version of process definition.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstance startProcessInstanceByMessageAndProcessDefinitionId(String messageName, String processDefinitionId, String businessKey, Map<String,Object> processVariables)
Signals the process engine that a message is received and starts a new
ProcessInstance
.
startProcessInstanceByMessage(String, String, Map)
. In addition, this method allows
specifying the exactly version of the process definition with the given id.messageName
- the 'name' of the message as specified as an attribute on the
bpmn20 <message name="messageName" />
element, cannot be null.processDefinitionId
- the id of the process definition, cannot be null.businessKey
- the business key which is added to the started process instanceprocessVariables
- the 'payload' of the message. The variables are added as processes
variables to the started process instance.ProcessInstance
object representing the started process instanceProcessEngineException
- if no subscription to a message with the given name exists for the
specified version of process definition.AuthorizationException
- if the user has no Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void deleteProcessInstance(String processInstanceId, String deleteReason)
processInstanceId
- id of process instance to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.BadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Batch deleteProcessInstancesAsync(List<String> processInstanceIds, ProcessInstanceQuery processInstanceQuery, String deleteReason)
processInstanceIds
- id's of process instances to delete, cannot be null if processInstanceQuery is null.processInstanceQuery
- query that will be used to fetch affected process instances.
Cannot be null if processInstanceIds are null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.BadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
or no Permissions.CREATE
permission on Resources.BATCH
.Batch deleteProcessInstancesAsync(List<String> processInstanceIds, ProcessInstanceQuery processInstanceQuery, String deleteReason, boolean skipCustomListeners)
processInstanceIds
- id's of process instances to delete, cannot be null if processInstanceQuery is null.processInstanceQuery
- query that will be used to fetch affected process instances.
Cannot be null if processInstanceIds are null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.skipCustomListeners
- skips custom execution listeners when removing instancesBadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
or no Permissions.CREATE
permission on Resources.BATCH
.Batch deleteProcessInstancesAsync(ProcessInstanceQuery processInstanceQuery, String deleteReason)
processInstanceQuery
- query that will be used to fetch affected process instances.
Cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.BadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
or no Permissions.CREATE
permission on Resources.BATCH
.Batch deleteProcessInstancesAsync(List<String> processInstanceIds, String deleteReason)
processInstanceIds
- id's of process instances to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.BadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
or no Permissions.CREATE
permission on Resources.BATCH
.void deleteProcessInstance(String processInstanceId, String deleteReason, boolean skipCustomListeners)
processInstanceId
- id of process instance to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.skipCustomListeners
- if true, only the built-in ExecutionListener
s
are notified with the ExecutionListener.EVENTNAME_END
event.BadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void deleteProcessInstance(String processInstanceId, String deleteReason, boolean skipCustomListeners, boolean externallyTerminated)
processInstanceId
- id of process instance to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.skipCustomListeners
- if true, only the built-in ExecutionListener
s
are notified with the ExecutionListener.EVENTNAME_END
event.externallyTerminated
- indicator if deletion triggered from external context, for instance
REST API callBadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void deleteProcessInstances(List<String> processInstanceIds, String deleteReason, boolean skipCustomListeners, boolean externallyTerminated)
processInstanceIds
- ids of process instance to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.skipCustomListeners
- if true, only the built-in ExecutionListener
s
are notified with the ExecutionListener.EVENTNAME_END
event.externallyTerminated
- indicator if deletion triggered from external context, for instance
REST API callBadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void deleteProcessInstance(String processInstanceId, String deleteReason, boolean skipCustomListeners, boolean externallyTerminated, boolean skipIoMappings)
processInstanceId
- id of process instance to delete, cannot be null.deleteReason
- reason for deleting, which will be stored in the history. Can be null.skipCustomListeners
- if true, only the built-in ExecutionListener
s
are notified with the ExecutionListener.EVENTNAME_END
event.externallyTerminated
- indicator if deletion triggered from external context, for instance
REST API callskipIoMappings
- specifies whether input/output mappings for tasks should be invokedBadUserRequestException
- when no process instance is found with the given id or id is null.AuthorizationException
- if the user has no Permissions.DELETE
permission on Resources.PROCESS_INSTANCE
or no Permissions.DELETE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.List<String> getActiveActivityIds(String executionId)
executionId
- id of the process instance or the execution, cannot be null.ProcessEngineException
- when no execution exists with the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ActivityInstance getActivityInstance(String processInstanceId)
Allows retrieving the activity instance tree for a given process instance. The activity instance tree is aligned with the concept of scope in the BPMN specification. Activities that are "on the same level of subprocess" (ie. part of the same scope, contained in the same subprocess) will have their activity instances at the same level in the tree.
Each activity instance is assigned a unique Id. The id is persistent, if you invoke this method multiple times, the same activity instance ids will be returned for the same activity instances. (However, there might be different executions assigned, see below)
The Execution
concept in the process engine is not completely aligned with the activity
instance concept because the execution tree is in general not aligned with the activity / scope concept in
BPMN. In general, there is a n-1 relationship between Executions and ActivityInstances, ie. at a given
point in time, an activity instance can be linked to multiple executions. In addition, it is not guaranteed
that the same execution that started a given activity instance will also end it. The process engine performs
several internal optimizations concerning the compacting of the execution tree which might lead to executions
being reordered and pruned. This can lead to situations where a given execution starts an activity instance
but another execution ends it. Another special case is the process instance: if the process instance is executing
a non-scope activity (for example a user task) below the process definition scope, it will be referenced
by both the root activity instance and the user task activity instance.
If you need to interpret the state of a process instance in terms of a BPMN process model, it is usually easier to use the activity instance tree as opposed to the execution tree.
processInstanceId
- the id of the process instance for which the activity instance tree should be constructed.ProcessEngineException
- if processInstanceId is 'null' or an internal error occurs.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signal(String executionId)
executionId
- id of process instance or execution to signal, cannot be null.BadUserRequestException
- when no execution is found for the given executionId or id is null.SuspendedEntityInteractionException
- when the execution is suspended.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signal(String executionId, String signalName, Object signalData, Map<String,Object> processVariables)
executionId
- id of process instance or execution to signal, cannot be null.signalName
- name of the signal (can be null)signalData
- additional data of the signal (can be null)processVariables
- a map of process variables (can be null)ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signal(String executionId, Map<String,Object> processVariables)
executionId
- id of process instance or execution to signal, cannot be null.processVariables
- a map of process variablesBadUserRequestException
- when no execution is found for the given executionId or id is null.SuspendedEntityInteractionException
- when the execution is suspended.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Map<String,Object> getVariables(String executionId)
executionId
- id of process instance or execution, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId)
executionId
- id of process instance or execution, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId, boolean deserializeValues)
executionId
- id of process instance or execution, cannot be null.deserializeValues
- if false, SerializableValue
s will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Map<String,Object> getVariablesLocal(String executionId)
getVariablesLocal(String, Collection)
for better performance.executionId
- id of execution, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String executionId)
getVariablesLocal(String, Collection)
for better performance.executionId
- id of execution, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String executionId, boolean deserializeValues)
getVariablesLocal(String, Collection)
for better performance.executionId
- id of execution, cannot be null.deserializeObjectValues
- if false, SerializableValue
s will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Map<String,Object> getVariables(String executionId, Collection<String> variableNames)
executionId
- id of process instance or execution, cannot be null.variableNames
- the collection of variable names that should be retrieved.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId, Collection<String> variableNames, boolean deserializeValues)
executionId
- id of process instance or execution, cannot be null.variableNames
- the collection of variable names that should be retrieved.deserializeObjectValues
- if false, SerializableValue
s will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Map<String,Object> getVariablesLocal(String executionId, Collection<String> variableNames)
executionId
- id of execution, cannot be null.variableNames
- the collection of variable names that should be retrieved.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String executionId, Collection<String> variableNames, boolean deserializeValues)
executionId
- id of execution, cannot be null.variableNames
- the collection of variable names that should be retrieved.deserializeObjectValues
- if false, SerializableValue
s will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Object getVariable(String executionId, String variableName)
executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableTyped(String executionId, String variableName)
TypedValue
for 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.executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableTyped(String executionId, String variableName, boolean deserializeValue)
TypedValue
for 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.executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.deserializeValue
- if false, a SerializableValue
will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Object getVariableLocal(String executionId, String variableName)
executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableLocalTyped(String executionId, String variableName)
TypedValue
for the variable. 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.executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableLocalTyped(String executionId, String variableName, boolean deserializeValue)
TypedValue
for the variable. Searching for the variable is done in all scopes that are visible
to the given execution (and not searching parent scopes). Returns null when no variable value is found with the given name.executionId
- id of process instance or execution, cannot be null.variableName
- name of variable, cannot be null.deserializeValue
- if false, a SerializableValue
will not be deserializedProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.READ
permission on Resources.PROCESS_INSTANCE
or no Permissions.READ_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void setVariable(String executionId, String variableName, Object value)
executionId
- id of process instance or 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.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void setVariableLocal(String executionId, String variableName, Object value)
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.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void setVariables(String executionId, Map<String,? extends Object> variables)
executionId
- id of the process instance or the execution, cannot be null.variables
- map containing name (key) and value of variables, can be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void setVariablesLocal(String executionId, Map<String,? extends Object> variables)
executionId
- id of the execution, cannot be null.variables
- map containing name (key) and value of variables, can be null.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void removeVariable(String executionId, String variableName)
executionId
- id of process instance or execution to remove variable in.variableName
- name of variable to remove.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void removeVariableLocal(String executionId, String variableName)
executionId
- id of execution to remove variable in.variableName
- name of variable to remove.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void removeVariables(String executionId, Collection<String> variableNames)
executionId
- id of process instance or execution to remove variable in.variableNames
- collection containing name of variables to remove.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void removeVariablesLocal(String executionId, Collection<String> variableNames)
executionId
- id of execution to remove variable in.variableNames
- collection containing name of variables to remove.ProcessEngineException
- when no execution is found for the given executionId.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ExecutionQuery createExecutionQuery()
ExecutionQuery
instance,
that can be used to query the executions and process instances.NativeExecutionQuery createNativeExecutionQuery()
NativeExecutionQuery
to query Execution
s
by SQL directlyProcessInstanceQuery createProcessInstanceQuery()
ProcessInstanceQuery
instance, that can be used
to query process instances.NativeProcessInstanceQuery createNativeProcessInstanceQuery()
NativeProcessInstanceQuery
to query ProcessInstance
s
by SQL directlyIncidentQuery createIncidentQuery()
IncidentQuery
instance, that can be used
to query incidents.EventSubscriptionQuery createEventSubscriptionQuery()
EventSubscriptionQuery
instance, that can be used to query
event subscriptions.VariableInstanceQuery createVariableInstanceQuery()
VariableInstanceQuery
instance, that can be used to query
variable instances.void suspendProcessInstanceById(String processInstanceId)
Suspends the process instance with the given id. This means that the execution is stopped, so the token state will not change. However, actions that do not change token state, like setting/removing variables, etc. will succeed.
Tasks belonging to this process instance will also be suspended. This means that any actions influencing the tasks' lifecycles will fail, such as
If a process instance is in state suspended, the engine will also not execute jobs (timers, messages) associated with this instance.
If you have a process instance hierarchy, suspending one process instance from the hierarchy will not suspend other process instances from that hierarchy.
Note: for more complex suspend commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if no such processInstance can be found.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void suspendProcessInstanceByProcessDefinitionId(String processDefinitionId)
Suspends the process instances with the given process definition id. This means that the execution is stopped, so the token state will not change. However, actions that do not change token state, like setting/removing variables, etc. will succeed.
Tasks belonging to the suspended process instance will also be suspended. This means that any actions influencing the tasks' lifecycles will fail, such as
If a process instance is in state suspended, the engine will also not execute jobs (timers, messages) associated with this instance.
If you have a process instance hierarchy, suspending one process instance from the hierarchy will not suspend other process instances from that hierarchy.
Note: for more complex suspend commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if no such processInstance can be found.AuthorizationException
- if the user has no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void suspendProcessInstanceByProcessDefinitionKey(String processDefinitionKey)
Suspends the process instances with the given process definition key. This means that the execution is stopped, so the token state will not change. However, actions that do not change token state, like setting/removing variables, etc. will succeed.
Tasks belonging to the suspended process instance will also be suspended. This means that any actions influencing the tasks' lifecycles will fail, such as
If a process instance is in state suspended, the engine will also not execute jobs (timers, messages) associated with this instance.
If you have a process instance hierarchy, suspending one process instance from the hierarchy will not suspend other process instances from that hierarchy.
Note: for more complex suspend commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if no such processInstance can be found.AuthorizationException
- if the user has no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void activateProcessInstanceById(String processInstanceId)
Activates the process instance with the given id.
If you have a process instance hierarchy, activating one process instance from the hierarchy will not activate other process instances from that hierarchy.
Note: for more complex activate commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if no such processInstance can be found.AuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void activateProcessInstanceByProcessDefinitionId(String processDefinitionId)
Activates the process instance with the given process definition id.
If you have a process instance hierarchy, activating one process instance from the hierarchy will not activate other process instances from that hierarchy.
Note: for more complex activate commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if the process definition id is nullAuthorizationException
- if the user has no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void activateProcessInstanceByProcessDefinitionKey(String processDefinitionKey)
Activates the process instance with the given process definition key.
If you have a process instance hierarchy, activating one process instance from the hierarchy will not activate other process instances from that hierarchy.
Note: for more complex activate commands use updateProcessInstanceSuspensionState()
.
ProcessEngineException
- if the process definition id is nullAuthorizationException
- if the user has no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.UpdateProcessInstanceSuspensionStateSelectBuilder updateProcessInstanceSuspensionState()
UpdateProcessInstanceSuspensionStateBuilder.activate()
or
UpdateProcessInstanceSuspensionStateBuilder.suspend()
.void signalEventReceived(String signalName)
signalName
- the name of the signal eventAuthorizationException
- Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signalEventReceived(String signalName, Map<String,Object> processVariables)
signalName
- the name of the signal eventprocessVariables
- a map of variables added to the execution(s)AuthorizationException
- Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
and no Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signalEventReceived(String signalName, String executionId)
signalName
- the name of the signal eventexecutionId
- id of the process instance or the execution to deliver the signal toProcessEngineException
- if no such execution exists or if the execution
has not subscribed to the signalAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void signalEventReceived(String signalName, String executionId, Map<String,Object> processVariables)
signalName
- the name of the signal eventexecutionId
- the id of the process instance or the execution to deliver the signal toprocessVariables
- a map of variables added to the execution(s)ProcessEngineException
- if no such execution exists or if the execution
has not subscribed to the signalAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.SignalEventReceivedBuilder createSignalEvent(String signalName)
signalName
- the name of the signal eventvoid messageEventReceived(String messageName, String executionId)
messageName
- the name of the message eventexecutionId
- the id of the process instance or the execution to deliver the message toProcessEngineException
- if no such execution exists or if the execution
has not subscribed to the signalAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void messageEventReceived(String messageName, String executionId, Map<String,Object> processVariables)
messageName
- the name of the message eventexecutionId
- the id of the process instance or the execution to deliver the message toprocessVariables
- a map of variables added to the executionProcessEngineException
- if no such execution exists or if the execution
has not subscribed to the signalAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.MessageCorrelationBuilder createMessageCorrelation(String messageName)
messageName
- the name of the message. Corresponds to the 'name' element
of the message defined in BPMN 2.0 Xml.
Can be null to correlate by other criteria (businessKey, processInstanceId, correlationKeys) only.void correlateMessage(String messageName)
messageName
- the name of the message event; if null, matches any eventMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void correlateMessage(String messageName, String businessKey)
messageName
- the name of the message event; if null, matches any eventbusinessKey
- the business key of process instances to correlate againstMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is null and businessKey is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void correlateMessage(String messageName, Map<String,Object> correlationKeys)
messageName
- the name of the message event; if null, matches any eventcorrelationKeys
- a map of key value pairs that are used to correlate the message to an executionMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is null and correlationKeys is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void correlateMessage(String messageName, String businessKey, Map<String,Object> processVariables)
messageName
- the name of the message event; if null, matches any eventbusinessKey
- the business key of process instances to correlate againstprocessVariables
- a map of variables added to the execution or newly created process instanceMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is null and businessKey is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void correlateMessage(String messageName, Map<String,Object> correlationKeys, Map<String,Object> processVariables)
messageName
- the name of the message event; if null, matches any eventcorrelationKeys
- a map of key value pairs that are used to correlate the message to an executionprocessVariables
- a map of variables added to the execution or newly created process instanceMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is null and correlationKeys is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.void correlateMessage(String messageName, String businessKey, Map<String,Object> correlationKeys, Map<String,Object> processVariables)
messageName
- the name of the message event; if null, matches any eventbusinessKey
- the business key of process instances to correlate againstcorrelationKeys
- a map of key value pairs that are used to correlate the message to an executionprocessVariables
- a map of variables added to the execution or newly created process instanceMismatchingMessageCorrelationException
- if none or more than one execution or process definition is correlatedProcessEngineException
- if messageName is null and businessKey is null and correlationKeys is nullAuthorizationException
- if the user has no Permissions.UPDATE
permission on Resources.PROCESS_INSTANCE
or no Permissions.UPDATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
.ProcessInstanceModificationBuilder createProcessInstanceModification(String processInstanceId)
processInstanceId
- the process instance to modifyProcessInstantiationBuilder createProcessInstanceById(String processDefinitionId)
processDefinitionId
- the id of the process definition, cannot be null
.ProcessInstantiationBuilder createProcessInstanceByKey(String processDefinitionKey)
processDefinitionKey
- the key of the process definition, cannot be null
.MigrationPlanBuilder createMigrationPlan(String sourceProcessDefinitionId, String targetProcessDefinitionId)
sourceProcessDefinitionId
- the process definition that instances are migrated fromtargetProcessDefinitionId
- the process definition that instances are migrated toMigrationPlanExecutionBuilder newMigration(MigrationPlan migrationPlan)
Batch
is immediately returned.
The migration is then executed as jobs from the process engine and the batch can
be used to track the progress of the migration. The Batch splits the migration
in smaller chunks which will be executed independently.migrationPlan
- the migration plan to executedModificationBuilder createModification(String processDefinitionId)
Batch
is immediately returned.
The modification is then executed as jobs from the process engine and the batch can
be used to track the progress of the modification. The Batch splits the modification
in smaller chunks which will be executed independently.processDefinitionId
- the process definition that instances are modified ofRestartProcessInstanceBuilder restartProcessInstances(String processDefinitionId)
processDefinitionId
- the id of the process definition, cannot be null.ProcessEngineException
- when no process definition is deployed with the given key or a process instance is still active.AuthorizationException
- if the user has not all of the following permissions
Permissions.CREATE
permission on Resources.PROCESS_INSTANCE
Permissions.CREATE_INSTANCE
permission on Resources.PROCESS_DEFINITION
Permissions.READ_HISTORY
permission on Resources.PROCESS_DEFINITION
Copyright © 2017. All rights reserved.