Class BpmnEventPublicationBehavior
java.lang.Object
io.camunda.zeebe.engine.processing.bpmn.behavior.BpmnEventPublicationBehavior
-
Constructor Summary
ConstructorsConstructorDescriptionBpmnEventPublicationBehavior(ZeebeState zeebeState, KeyGenerator keyGenerator, EventTriggerBehavior eventTriggerBehavior, Writers writers) -
Method Summary
Modifier and TypeMethodDescriptionfindErrorCatchEvent(org.agrona.DirectBuffer errorCode, BpmnElementContext context) Finds the right catch event for the given error.voidthrowErrorEvent(CatchEventAnalyzer.CatchEventTuple catchEventTuple) Throws an error event to the given element instance/catch event pair.
-
Constructor Details
-
BpmnEventPublicationBehavior
public BpmnEventPublicationBehavior(ZeebeState zeebeState, KeyGenerator keyGenerator, EventTriggerBehavior eventTriggerBehavior, Writers writers)
-
-
Method Details
-
throwErrorEvent
Throws an error event to the given element instance/catch event pair. Only throws the event if the given element instance is exists and is accepting events, e.g. isn't terminating, wasn't interrupted, etc.- Parameters:
catchEventTuple- a tuple representing a catch event and its current instance
-
findErrorCatchEvent
public Either<Failure,CatchEventAnalyzer.CatchEventTuple> findErrorCatchEvent(org.agrona.DirectBuffer errorCode, BpmnElementContext context) Finds the right catch event for the given error. This is done by going up through the scope hierarchy recursively until a matching catch event is found. If none are found, a failure is returned.The returned
CatchEventAnalyzer.CatchEventTuplecan be used to throw the event viathrowErrorEvent(CatchEventTuple).- Parameters:
errorCode- the error code of the error eventcontext- the current element context- Returns:
- a valid
CatchEventAnalyzer.CatchEventTupleif a catch event is found, or a failure otherwise
-