Skip to content
Johannes Heucher edited this page Oct 12, 2022 · 3 revisions

The Await Service waits until another process sends a correlated notification. It is a Modeling Block inside of the Xyna Process Modeller. The Await Service is part of the Synchronization Services and corresponds to the Notify Service, which sends the notification, the Await waits for.

Table of Contents

Add an Await to the Workflow

To insert an Await object into a Workflow, drag the Await symbol out of the icon bar.

Configure an Await

The Await Service expects two Input Parameters. The first one called Correlation ID is used for identification (i.e. corresponding Await and Notify objects must have the same Correlation ID). The value may be any non-null string.

Please note: The Correlation ID must be unique. It is not possible to execute a Workflow with an Await using a Correlation ID, which is already in use for another Await-Notify pair. In this case, a Duplicate Correlation ID error is thrown. A Notify can already be set up before the process has reached the corresponding Await step. In this case, it is determined at arrival of the Await step that the corresponding notification already exists, and the process continues.

The second Input Parameter called Timeout determines a timeout in seconds, after which the process terminates with a Timeout During Synchronization error in case no notification arrives.

Output of an Await

The Output Parameter called Synchronization Answer contains a message, transferred with the notification of the other process. The original Data Type of this parameter is the Any Type and xprc.synchronization.SynchronizationAnswer is its Default Type. Instead of using the Default Type, you may change or remove the Expected Type to transfer different types of messages.

Please note: Whatever Expected Type is used for the Synchronization Answer, the corresponding Notify should use the same one to avoid a type mismatch.

Please note: By default, no Capacities are released in the process during the execution of an Await step. However for longer-term latencies the release of resources can be preferable. In this case, attach the Free Capacities operator to the Await object.

See Also

Clone this wiki locally