Package org.camunda.bpm.client.task.impl
Class ExternalTaskServiceImpl
- java.lang.Object
-
- org.camunda.bpm.client.task.impl.ExternalTaskServiceImpl
-
- All Implemented Interfaces:
ExternalTaskService
public class ExternalTaskServiceImpl extends Object implements ExternalTaskService
- Author:
- Tassilo Weidner
-
-
Field Summary
Fields Modifier and Type Field Description protected EngineClientengineClientprotected static ExternalTaskClientLoggerLOG
-
Constructor Summary
Constructors Constructor Description ExternalTaskServiceImpl(EngineClient engineClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcomplete(String externalTaskId, Map<String,Object> variables, Map<String,Object> localVariables)Completes a task.voidcomplete(ExternalTask externalTask)Completes a task.voidcomplete(ExternalTask externalTask, Map<String,Object> variables)Completes a task.voidcomplete(ExternalTask externalTask, Map<String,Object> variables, Map<String,Object> localVariables)Completes a task.voidextendLock(String externalTaskId, long newDuration)Extends the timeout of the lock by a given amount of time.voidextendLock(ExternalTask externalTask, long newDuration)Extends the timeout of the lock by a given amount of time.voidhandleBpmnError(String externalTaskId, String errorCode, String errorMessage, Map<String,Object> variables)Reports a business error in the context of a running task.voidhandleBpmnError(ExternalTask externalTask, String errorCode)Reports a business error in the context of a running task.voidhandleBpmnError(ExternalTask externalTask, String errorCode, String errorMessage)Reports a business error in the context of a running task.voidhandleBpmnError(ExternalTask externalTask, String errorCode, String errorMessage, Map<String,Object> variables)Reports a business error in the context of a running task.voidhandleFailure(String externalTaskId, String errorMessage, String errorDetails, int retries, long retryTimeout)Reports a failure to execute a task.voidhandleFailure(String externalTaskId, String errorMessage, String errorDetails, int retries, long retryTimeout, Map<String,Object> variables, Map<String,Object> locaclVariables)Reports a failure to execute a task.voidhandleFailure(ExternalTask externalTask, String errorMessage, String errorDetails, int retries, long retryTimeout)Reports a failure to execute a task.voidlock(String externalTaskId, long lockDuration)Locks a task by a given amount of time.voidlock(ExternalTask externalTask, long lockDuration)Locks a task by a given amount of time.voidsetVariables(String processInstanceId, Map<String,Object> variables)Set variablesvoidsetVariables(ExternalTask externalTask, Map<String,Object> variables)Set variablesvoidunlock(ExternalTask externalTask)Unlocks a task and clears the tasks lock expiration time and worker id.
-
-
-
Field Detail
-
LOG
protected static final ExternalTaskClientLogger LOG
-
engineClient
protected EngineClient engineClient
-
-
Constructor Detail
-
ExternalTaskServiceImpl
public ExternalTaskServiceImpl(EngineClient engineClient)
-
-
Method Detail
-
lock
public void lock(ExternalTask externalTask, long lockDuration)
Description copied from interface:ExternalTaskServiceLocks a task by a given amount of time. Note: This method should be used to lock external tasks that have been obtained without using the fetch & lock API.- Specified by:
lockin interfaceExternalTaskService- Parameters:
externalTask- which lock will be extendedlockDuration- specifies the lock duration in milliseconds
-
lock
public void lock(String externalTaskId, long lockDuration)
Description copied from interface:ExternalTaskServiceLocks a task by a given amount of time. Note: This method should be used to lock external tasks that have been obtained without using the fetch & lock API.- Specified by:
lockin interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task whose lock will be extendedlockDuration- specifies the lock duration in milliseconds
-
unlock
public void unlock(ExternalTask externalTask)
Description copied from interface:ExternalTaskServiceUnlocks a task and clears the tasks lock expiration time and worker id.- Specified by:
unlockin interfaceExternalTaskService- Parameters:
externalTask- which will be unlocked
-
complete
public void complete(ExternalTask externalTask)
Description copied from interface:ExternalTaskServiceCompletes a task.- Specified by:
completein interfaceExternalTaskService- Parameters:
externalTask- which will be completed
-
setVariables
public void setVariables(String processInstanceId, Map<String,Object> variables)
Description copied from interface:ExternalTaskServiceSet variables- Specified by:
setVariablesin interfaceExternalTaskServicevariables- are set in the tasks ancestor execution hierarchy. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.
-
setVariables
public void setVariables(ExternalTask externalTask, Map<String,Object> variables)
Description copied from interface:ExternalTaskServiceSet variables- Specified by:
setVariablesin interfaceExternalTaskServicevariables- are set in the tasks ancestor execution hierarchy. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.
-
complete
public void complete(ExternalTask externalTask, Map<String,Object> variables)
Description copied from interface:ExternalTaskServiceCompletes a task.- Specified by:
completein interfaceExternalTaskService- Parameters:
externalTask- which will be completedvariables- are set in the tasks ancestor execution hierarchy The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.
-
complete
public void complete(ExternalTask externalTask, Map<String,Object> variables, Map<String,Object> localVariables)
Description copied from interface:ExternalTaskServiceCompletes a task.- Specified by:
completein interfaceExternalTaskService- Parameters:
externalTask- which will be completedvariables- are set in the tasks ancestor execution hierarchy. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.localVariables- are set in the execution of the external task instance. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.
-
complete
public void complete(String externalTaskId, Map<String,Object> variables, Map<String,Object> localVariables)
Description copied from interface:ExternalTaskServiceCompletes a task.- Specified by:
completein interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task which will be completedvariables- are set in the tasks ancestor execution hierarchy. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.localVariables- are set in the execution of the external task instance. The key and the value represent the variable name and its value. Map can consist of both typed and untyped variables.
-
handleFailure
public void handleFailure(ExternalTask externalTask, String errorMessage, String errorDetails, int retries, long retryTimeout)
Description copied from interface:ExternalTaskServiceReports a failure to execute a task. A number of retries and a timeout until the task can be specified. If the retries are set to 0, an incident for this task is created.- Specified by:
handleFailurein interfaceExternalTaskService- Parameters:
externalTask- external task for which a failure will be reportederrorMessage- indicates the reason of the failure.errorDetails- provides a detailed error description.retries- specifies how often the task should be retried. Must be >= 0. If 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again. The incident's message is set to the errorMessage parameter.retryTimeout- specifies a timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.
-
handleFailure
public void handleFailure(String externalTaskId, String errorMessage, String errorDetails, int retries, long retryTimeout)
Description copied from interface:ExternalTaskServiceReports a failure to execute a task. A number of retries and a timeout until the task can be specified. If the retries are set to 0, an incident for this task is created.- Specified by:
handleFailurein interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task for which a failure will be reportederrorMessage- indicates the reason of the failure.errorDetails- provides a detailed error description.retries- specifies how often the task should be retried. Must be >= 0. If 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again. The incident's message is set to the errorMessage parameter.retryTimeout- specifies a timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.
-
handleFailure
public void handleFailure(String externalTaskId, String errorMessage, String errorDetails, int retries, long retryTimeout, Map<String,Object> variables, Map<String,Object> locaclVariables)
Description copied from interface:ExternalTaskServiceReports a failure to execute a task. A number of retries and a timeout until the task can be specified. If the retries are set to 0, an incident for this task is created.- Specified by:
handleFailurein interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task for which a failure will be reportederrorMessage- indicates the reason of the failure.errorDetails- provides a detailed error description.retries- specifies how often the task should be retried. Must be >= 0. If 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again. The incident's message is set to the errorMessage parameter.retryTimeout- specifies a timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.variables- a map of variables to set on the execution the external task is assigned tolocaclVariables- a map of variables to set on the execution locally
-
handleBpmnError
public void handleBpmnError(ExternalTask externalTask, String errorCode)
Description copied from interface:ExternalTaskServiceReports a business error in the context of a running task. The error code must be specified to identify the BPMN error handler.- Specified by:
handleBpmnErrorin interfaceExternalTaskService- Parameters:
externalTask- external task for which a BPMN error will be reportederrorCode- that indicates the predefined error. The error code is used to identify the BPMN error handler.
-
handleBpmnError
public void handleBpmnError(ExternalTask externalTask, String errorCode, String errorMessage)
Description copied from interface:ExternalTaskServiceReports a business error in the context of a running task. The error code must be specified to identify the BPMN error handler.- Specified by:
handleBpmnErrorin interfaceExternalTaskService- Parameters:
externalTask- external task for which a BPMN error will be reportederrorCode- that indicates the predefined error. The error code is used to identify the BPMN error handler.errorMessage- which will be passed when the BPMN error is caught
-
handleBpmnError
public void handleBpmnError(ExternalTask externalTask, String errorCode, String errorMessage, Map<String,Object> variables)
Description copied from interface:ExternalTaskServiceReports a business error in the context of a running task. The error code must be specified to identify the BPMN error handler.- Specified by:
handleBpmnErrorin interfaceExternalTaskService- Parameters:
externalTask- external task for which a BPMN error will be reportederrorCode- that indicates the predefined error. The error code is used to identify the BPMN error handler.errorMessage- which will be passed when the BPMN error is caughtvariables- which will be passed to the execution when the BPMN error is caught
-
handleBpmnError
public void handleBpmnError(String externalTaskId, String errorCode, String errorMessage, Map<String,Object> variables)
Description copied from interface:ExternalTaskServiceReports a business error in the context of a running task. The error code must be specified to identify the BPMN error handler.- Specified by:
handleBpmnErrorin interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task for which a BPMN error will be reportederrorCode- that indicates the predefined error. The error code is used to identify the BPMN error handler.errorMessage- which will be passed when the BPMN error is caughtvariables- which will be passed to the execution when the BPMN error is caught
-
extendLock
public void extendLock(ExternalTask externalTask, long newDuration)
Description copied from interface:ExternalTaskServiceExtends the timeout of the lock by a given amount of time.- Specified by:
extendLockin interfaceExternalTaskService- Parameters:
externalTask- which lock will be extendednewDuration- specifies the new lock duration in milliseconds
-
extendLock
public void extendLock(String externalTaskId, long newDuration)
Description copied from interface:ExternalTaskServiceExtends the timeout of the lock by a given amount of time.- Specified by:
extendLockin interfaceExternalTaskService- Parameters:
externalTaskId- the id of the external task which lock will be extendednewDuration- specifies the new lock duration in milliseconds
-
-