public class AbstractBpmnActivityBehavior extends FlowNodeActivityBehavior
Modifier and Type | Class and Description |
---|---|
static class |
AbstractBpmnActivityBehavior.ErrorDeclarationFinder |
static class |
AbstractBpmnActivityBehavior.ErrorDeclarationForProcessInstanceFinder |
static class |
AbstractBpmnActivityBehavior.LeafExecutionHierarchyWalker
In a hierarchy of process instances, visits all leaf executions (i.e.
|
static class |
AbstractBpmnActivityBehavior.ProcessInstanceCollector |
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) |
protected void |
executeWithErrorPropagation(ActivityExecution execution,
Callable<Void> toExecute)
Takes the an
ActivityExecution and an Callable and wraps
the call to the Callable with the proper error propagation. |
protected ActivityImpl |
getCompensationHandler(PvmActivity activity) |
protected static ScopeImpl |
getCurrentFlowScope(ActivityExecution execution)
Assumption: execution is executing a transition or an activity.
|
protected boolean |
isProcessEngineExceptionWithoutCause(Exception exception) |
protected boolean |
isTransactionNotActive() |
protected void |
leave(ActivityExecution execution)
Subclasses that call leave() will first pass through this method, before
the regular
FlowNodeActivityBehavior.leave(ActivityExecution) is
called. |
protected void |
propagateBpmnError(BpmnError error,
ActivityExecution execution) |
protected void |
propagateError(String errorCode,
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,
Object signalData) |
execute, leaveIgnoreConditions
protected void leave(ActivityExecution execution)
FlowNodeActivityBehavior.leave(ActivityExecution)
is
called.leave
in class FlowNodeActivityBehavior
protected ActivityImpl getCompensationHandler(PvmActivity 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
- behavior
- 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, Exception origException, ActivityExecution execution) throws Exception
Exception
protected static ScopeImpl getCurrentFlowScope(ActivityExecution execution)
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, Object signalData)
Copyright © 2018. All rights reserved.