Package org.jbpm.bpmn2.handler
Class SignallingTaskHandlerDecorator
- java.lang.Object
-
- org.jbpm.bpmn2.handler.AbstractExceptionHandlingTaskHandler
-
- org.jbpm.bpmn2.handler.SignallingTaskHandlerDecorator
-
- All Implemented Interfaces:
org.kie.api.runtime.process.WorkItemHandler
public class SignallingTaskHandlerDecorator extends AbstractExceptionHandlingTaskHandler
This class will wrap aWorkItemHandlerinstance so that an event (signal, error or other) can be sent to the process instance if and when the wrappedWorkItemHandlerinstance throws an exception (during aWorkItemHandler.executeWorkItem(WorkItem, WorkItemManager)orWorkItemHandler.abortWorkItem(WorkItem, WorkItemManager)method. In order to prevent an endless loop, the signal will only be sent once. If the signal should be sent the next time the same wrappedWorkItemHandlerinstance throws an exception, theSignallingTaskHandlerDecoratorinstance must either be reset via theclear()orclearProcessInstance(Long)methods.Otherwise, the number of exceptions handled can be changed via the
This class is not thread-safe.WorkItemHandler#setExceptionCountLimitmethod.
-
-
Constructor Summary
Constructors Constructor Description SignallingTaskHandlerDecorator(Class<? extends org.kie.api.runtime.process.WorkItemHandler> originalTaskHandlerClass, String eventType)Constructs an instance that uses the giveneventTypeparameter to signal the process instance using the givenKieSessionksessionparameter when an instance of the class specified by theoriginalTaskHandlerClassthrows an exception uponWorkItemHandler.executeWorkItem(WorkItem, WorkItemManager)SignallingTaskHandlerDecorator(Class<? extends org.kie.api.runtime.process.WorkItemHandler> originalTaskHandlerClass, String eventType, int exceptionCountLimit)SignallingTaskHandlerDecorator(org.kie.api.runtime.process.WorkItemHandler originalTaskHandler, String eventType)SignallingTaskHandlerDecorator(org.kie.api.runtime.process.WorkItemHandler originalTaskHandler, String eventType, int exceptionCountLimit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()voidclearProcessInstance(Long processInstanceId)StringgetWorkItemExceptionParameterName()voidhandleAbortException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)voidhandleExecuteException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)voidsetExceptionCountLimit(int limit)voidsetWorkItemExceptionParameterName(String parameterName)-
Methods inherited from class org.jbpm.bpmn2.handler.AbstractExceptionHandlingTaskHandler
abortWorkItem, executeWorkItem, getOriginalTaskHandler
-
-
-
-
Constructor Detail
-
SignallingTaskHandlerDecorator
public SignallingTaskHandlerDecorator(Class<? extends org.kie.api.runtime.process.WorkItemHandler> originalTaskHandlerClass, String eventType)
Constructs an instance that uses the giveneventTypeparameter to signal the process instance using the givenKieSessionksessionparameter when an instance of the class specified by theoriginalTaskHandlerClassthrows an exception uponWorkItemHandler.executeWorkItem(WorkItem, WorkItemManager)- Parameters:
originalTaskHandlerClass-eventType-
-
SignallingTaskHandlerDecorator
public SignallingTaskHandlerDecorator(org.kie.api.runtime.process.WorkItemHandler originalTaskHandler, String eventType)
-
SignallingTaskHandlerDecorator
public SignallingTaskHandlerDecorator(Class<? extends org.kie.api.runtime.process.WorkItemHandler> originalTaskHandlerClass, String eventType, int exceptionCountLimit)
-
SignallingTaskHandlerDecorator
public SignallingTaskHandlerDecorator(org.kie.api.runtime.process.WorkItemHandler originalTaskHandler, String eventType, int exceptionCountLimit)
-
-
Method Detail
-
setWorkItemExceptionParameterName
public void setWorkItemExceptionParameterName(String parameterName)
-
getWorkItemExceptionParameterName
public String getWorkItemExceptionParameterName()
-
handleExecuteException
public void handleExecuteException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)
- Specified by:
handleExecuteExceptionin classAbstractExceptionHandlingTaskHandler
-
handleAbortException
public void handleAbortException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)
- Specified by:
handleAbortExceptionin classAbstractExceptionHandlingTaskHandler
-
setExceptionCountLimit
public void setExceptionCountLimit(int limit)
-
clearProcessInstance
public void clearProcessInstance(Long processInstanceId)
-
clear
public void clear()
-
-