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 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 Summary

    Constructors
    Constructor and Description
    `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)`
    `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 and Description
    --- | ---
    `void` | `clear()`
    `void` | `clearProcessInstance(Long processInstanceId)`
    `String` | `getWorkItemExceptionParameterName()`
    `void` | `handleAbortException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)`
    `void` | `handleExecuteException(Throwable cause, org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)`
    `void` | `setExceptionCountLimit(int limit)`
    `void` | `setWorkItemExceptionParameterName(String parameterName)`

    - ### Methods inherited from class org.jbpm.bpmn2.handler.AbstractExceptionHandlingTaskHandler

      `abortWorkItem, executeWorkItem, getOriginalTaskHandler`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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()

    - #### handleExecuteException

          public void handleExecuteException(Throwable cause,
                                             org.kie.api.runtime.process.WorkItem workItem,
                                             org.kie.api.runtime.process.WorkItemManager manager)

      Specified by:
        `handleExecuteException` in class `AbstractExceptionHandlingTaskHandler`

    - #### handleAbortException

          public void handleAbortException(Throwable cause,
                                           org.kie.api.runtime.process.WorkItem workItem,
                                           org.kie.api.runtime.process.WorkItemManager manager)

      Specified by:
        `handleAbortException` in class `AbstractExceptionHandlingTaskHandler`

    - #### setExceptionCountLimit

          public void setExceptionCountLimit(int limit)

    - #### clearProcessInstance

          public void clearProcessInstance(Long processInstanceId)

    - #### clear

          public void clear()

Copyright © 2001–2021 JBoss by Red Hat. All rights reserved.