Message catch boundary events
Boundary events are integral components linked to user tasks within a process flow. Specifically, Message Catch Boundary Events are triggered by incoming messages and can be configured as either interrupting or non-interrupting based on your requirements.
Why is it important? It empowers processes to actively listen for and capture designated messages during the execution of associated user tasks.
When an event is received, it progresses through the sequence from the intermediate node. Multiple intermediate boundary events can exist on the same user task, but only one can be activated at a time.
Message Catch Boundary Events can be categorized by their behavior, resulting in two main classifications:
Message catch interrupting event
In the case of an Interrupting Message Catch Boundary Event triggered by a received message, it immediately interrupts the ongoing task. The associated task concludes, and the process flow advances based on the received message.
-
Use Cases:
- Suitable for scenarios where the receipt of a specific message requires an immediate interruption of the current activity.
- Often used when the received message signifies a critical event that demands prompt attention.
-
Example:
- A user task is interrupted as soon as a high-priority message is received, and the process flow moves forward to handle the critical event.
Message catch non-interrupting event
Contrastingly, a Non-Interrupting Message Catch Boundary Event continues to listen for messages during the execution of the associated task without immediate interruption. The task persists in its execution even upon receiving messages. Multiple non-interrupting events can be activated concurrently while the task is still active, allowing the task to continue until its natural completion.
-
Use Cases:
- Appropriate for scenarios where multiple messages need to be captured during the execution of a user task without disrupting its flow.
- Useful when the received messages are important but do not require an immediate interruption of the ongoing activity.
-
Example:
- A user task continues its execution while simultaneously capturing and processing non-critical messages.
Compatibility matrix for Message Events
Message Events can be used in various contexts within BPMN processes. The following table outlines their compatibility with the following nodes:
Node Type | Message Catch Event - Interrupting | Message Catch Event - Non-Interrupting |
---|---|---|
User Task | Yes | Yes |
Service Task | Yes | Yes |
Send Message Task | No | No |
Receive Message Task | Yes | Yes |
Start Embedded Subprocess | Yes | Yes |
Call Activity | Yes | Yes |
Configuring a message catch interrupting/non-interrupting event
General config
- Correlate with Throwing Events - the dropdown lists all throw events from accessible process definitions
Establishes correlation between the catch event and the corresponding throw event. Selection of the relevant throw event triggers the catch event upon message propagation.
- Correlation Key - process key used to correlate received messages with specific process instances
The correlation key associates incoming messages with specific process instances. Upon receiving a message with a matching correlation key, the catch event is triggered.
- Receive Data (Process Key) - the catch event can receive and store data associated with the message in a process variable with the specified process key
This received data becomes available within the process instance, facilitating further processing or decision-making.
Illustrating boundary events (interrupting and non-interrupting)
Business Scenario:
A customer initiates the account opening process. Identity verification occurs, and after successful verification, a message is thrown to signal that the account is ready for activation.
Simultaneously, the account activation process begins. If there are issues during activation, they are handled through the interruption process. The overall process ensures a streamlined account opening experience while handling potential interruptions during activation, and also addresses exceptions through the third lane.
Was this page helpful?