Features
The library supports the following features:
General#
- Usage of Open Feign library to allow for high-customizable REST client (generated from camunda openapi definition)
- Provides a SpringBoot starter for usage in standalone client mode
- Provides a SpringBoot starter for usage inside a process application
- Decode HTTP error response and simulate exceptions, as if they are thrown locally by the service.
- Implemented Services:
RuntimeService
,RepositoryService
,TaskService
,ExternalTaskService
,HistoryService
RuntimeService#
- Process start by key:
#startProcessInstanceByKey()
- Process start by id:
#startProcessInstanceById()
- Process instance query:
#createProcessInstanceQuery()
- Message correlation:
#correlateMessage()
,#createMessageCorrelation()
- Signal event:
#signalEventReceived()
,#createSignalEvent()
- Execution trigger:
#signal()
- Read variables:
#getVariable()
,#getVariables()
,#getVariableTyped()
,#getVariablesTyped()
- Read local variables:
#getVariableLocal()
,#getVariablesLocal()
,#getVariableLocalTyped()
,#getVariablesLocalTyped()
- Write variables:
#setVariable()
,#setVariables()
,#setVariableTyped()
,#setVariablesTyped()
- Delete variables:
#removeVariable()
,#removeVariables()
- Write local variables:
#setVariableLocal()
,#setVariablesLocal()
,#setVariableLocalTyped()
,#setVariablesLocalTyped()
- Delete local variables:
#removeVariableLocal()
,#removeVariablesLocal()
- Incident query:
#createIncidentQuery()
- Create/Resolve incidents:
#createIncident()
,#resolveIncident()
- Annotations for incidents:
#setAnnotationForIncidentById()
,#clearAnnotationForIncidentById()
- Activate/Suspend process instances by definition key:
#suspendProcessInstanceByProcessDefinitionKey()
,#activateProcessInstanceByProcessDefinitionKey()
- Activate/Suspend process instances by definition id:
#suspendProcessInstanceByProcessDefinitionId()
,#activateProcessInstanceByProcessDefinitionId()
- Activate/Suspend process instances:
#suspendProcessInstanceById()
,#activateProcessInstanceById()
- Update process instance suspension state:
#updateProcessInstanceSuspensionState()
- Delete process instances:
#deleteProcessInstance()
,#deleteProcessInstanceIfExists()
,#deleteProcessInstances()
,#deleteProcessInstancesIfExists()
,#deleteProcessInstancesAsync()
- Create event subscription query:
#createEventSubscriptionQuery()
- Create execution query:
#createExecutionQuery()
RepositoryService#
- Query for process definitions:
#createProcessDefinitionQuery()
- History time to live:
#updateDecisionDefinitionHistoryTimeToLive()
,#updateProcessDefinitionHistoryTimeToLive()
- Create deployment:
#createDeployment()
- Delete deployment:
#deleteDeployment()
,#deleteDeploymentCascade()
- Deployment query:
#createDeploymentQuery()
- Delete process definition:
#deleteProcessDefinition()
- Update process definition suspension state:
#updateProcessDefinitionSuspensionState()
- Get bpmn model instance:
#getBpmnModelInstance()
TaskService#
- Query for tasks:
#createTaskQuery()
- Task assignment:
#claim()
,#defer()
,#resolve()
,#addCandidateGroup()
,#deleteCandidateGroup()
,#addCadidateUser()
,#deleteCandidateUser()
- Identity links:
#addUserIdentityLink()
,#addGroupIdentityLink()
,#deleteUserIdentityLink()
,#deleteGroupIdentityLink()
, - Task completion:
#complete()
- Task deletion:
#deleteTasks()
- Task attributes:
#setPriority()
,#setOwner()
,#setAssignee()
,#saveTask()
- Handling Errors and Escalation:
#handleBpmnError()
,#handleEscalation()
- Read variables:
#getVariable()
,#getVariables()
,#getVariableTyped()
,#getVariablesTyped()
- Read local variables:
#getVariableLocal()
,#getVariablesLocal()
,#getVariableLocalTyped()
,#getVariablesLocalTyped()
- Write variables:
#setVariable()
,#setVariables()
,#setVariableTyped()
,#setVariablesTyped()
- Delete variables:
#removeVariable()
,#removeVariables()
- Write local variables:
#setVariableLocal()
,#setVariablesLocal()
,#setVariableLocalTyped()
,#setVariablesLocalTyped()
- Delete local variables:
#removeVariableLocal()
,#removeVariablesLocal()
ExternalTaskService#
We are not aiming to replace the existing External Task Client, but still provide an alternative implementation for some methods.
- Complete a task by id:
#complete()
- Handle BPMN Errors:
#handleBpmnError()
- Handle failures:
#handleFailure()
- Fetch and lock:
#fetchAndLock()
- Handling locks:
#extendLock()
,#lock()
,#unlock()
- Setting priority:
#setPriority()
- Getting topic names:
#getTopicNames()
- Getting error details:
#getExternalTaskErrorDetails()
- Querying external tasks:
#createExternalTaskQuery()
- Setting retries:
#setRetries()
,#setRetriesAsync()
,#updateRetries()
HistoryService#
- Historic process instance query:
#createHistoricProcessInstanceQuery()
DecisionService#
- Evaluate decision:
#evaluateDecisionById()
,#evaluateDecisionByKey()
- Evaluate decision table:
#evaluateDecisionTableById()
,#evaluateDecisionTableByKey()
.#evaluateDecisionTableByKeyAndVersion()