public class AbstractBpmnActivityBehavior extends FlowNodeActivityBehavior
Modifier and Type | Class and Description |
---|---|
class |
AbstractBpmnActivityBehavior.ErrorDeclarationForProcessInstanceFinder |
protected class |
AbstractBpmnActivityBehavior.ErrorPropagationException |
Modifier and Type | Field and Description |
---|---|
protected static BpmnBehaviorLogger |
LOG |
bpmnActivityBehavior
Constructor and Description |
---|
AbstractBpmnActivityBehavior() |
Modifier and Type | Method and Description |
---|---|
protected BpmnError |
checkIfCauseOfExceptionIsBpmnError(Throwable e)
Searches recursively through the exception to see if the exception itself
or one of its causes is a
BpmnError . |
protected void |
createCompensateEventSubscription(ActivityExecution execution,
ActivityImpl compensationHandler) |
void |
doLeave(ActivityExecution execution)
Subclasses that call leave() will first pass through this method, before
the regular
FlowNodeActivityBehavior.leave(ActivityExecution) is
called. |
protected void |
executeWithErrorPropagation(ActivityExecution execution,
Callable<Void> toExecute)
Takes an
ActivityExecution and an Callable and wraps
the call to the Callable with the proper error propagation. |
protected boolean |
isCompensationEventSubprocess(ActivityImpl activity) |
protected boolean |
isProcessEngineExceptionWithoutCause(Exception exception) |
protected boolean |
isTransactionNotActive() |
protected void |
propagateBpmnError(BpmnError error,
ActivityExecution execution) |
protected void |
propagateError(String errorCode,
String errorMessage,
Exception origException,
ActivityExecution execution) |
protected void |
propagateException(ActivityExecution execution,
Exception ex)
Decides how to propagate the exception properly, e.g.
|
protected void |
propagateExceptionAsError(Exception exception,
ActivityExecution execution) |
void |
signal(ActivityExecution execution,
String signalName,
Object signalData) |
protected void |
signalCompensationDone(ActivityExecution execution) |
execute, leave, leaveIgnoreConditions
protected static final BpmnBehaviorLogger LOG
public void doLeave(ActivityExecution execution)
FlowNodeActivityBehavior.leave(ActivityExecution)
is
called.doLeave
in class FlowNodeActivityBehavior
protected boolean isCompensationEventSubprocess(ActivityImpl activity)
protected void createCompensateEventSubscription(ActivityExecution execution, ActivityImpl compensationHandler)
protected void propagateExceptionAsError(Exception exception, ActivityExecution execution) throws Exception
Exception
protected void executeWithErrorPropagation(ActivityExecution execution, Callable<Void> toExecute) throws Exception
ActivityExecution
and an Callable
and wraps
the call to the Callable with the proper error propagation. This method
also makes sure that exceptions not caught by following activities in the
process will be thrown and not propagated.execution
- toExecute
- Exception
protected void propagateException(ActivityExecution execution, Exception ex) throws Exception
execution
- the current executionex
- the exception to propagateException
- if no error handler could be foundprotected BpmnError checkIfCauseOfExceptionIsBpmnError(Throwable e)
BpmnError
.e
- the exception to checkprotected boolean isTransactionNotActive()
protected boolean isProcessEngineExceptionWithoutCause(Exception exception)
protected void propagateBpmnError(BpmnError error, ActivityExecution execution) throws Exception
Exception
protected void propagateError(String errorCode, String errorMessage, Exception origException, ActivityExecution execution) throws Exception
Exception
public void signal(ActivityExecution execution, String signalName, Object signalData) throws Exception
signal
in interface SignallableActivityBehavior
signal
in class FlowNodeActivityBehavior
Exception
protected void signalCompensationDone(ActivityExecution execution)
Copyright © 2017. All rights reserved.