Class SignallingTaskHandlerDecorator

  • All Implemented Interfaces:
    org.kie.api.runtime.process.WorkItemHandler

    public class SignallingTaskHandlerDecorator
    extends AbstractExceptionHandlingTaskHandler
    This class will wrap a WorkItemHandler instance so that an event (signal, error or other) can be sent to the process instance if and when the wrapped WorkItemHandler instance throws an exception (during a WorkItemHandler.executeWorkItem(WorkItem, WorkItemManager) or WorkItemHandler.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 wrapped WorkItemHandler instance throws an exception, the SignallingTaskHandlerDecorator instance must either be reset via the clear() or clearProcessInstance(Long) methods.

    Otherwise, the number of exceptions handled can be changed via the WorkItemHandler#setExceptionCountLimit method.

    This class is not thread-safe.
    • Constructor Detail

      • SignallingTaskHandlerDecorator

        public SignallingTaskHandlerDecorator​(Class<? extends org.kie.api.runtime.process.WorkItemHandler> originalTaskHandlerClass,
                                              String eventType)
        Constructs an instance that uses the given eventType parameter to signal the process instance using the given KieSession ksession parameter when an instance of the class specified by the originalTaskHandlerClass throws an exception upon WorkItemHandler.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()
      • setExceptionCountLimit

        public void setExceptionCountLimit​(int limit)
      • clearProcessInstance

        public void clearProcessInstance​(Long processInstanceId)
      • clear

        public void clear()