<event-wait-activity id="1" category="AC1">
...
<event-wait wait-on-all-events="true">
<events>
<event event-class="Task" event-type="Close"
identifier="1">
<event-match-attribute name="taskID"
wdo-name="Context_Task"/>
</event>
<event event-class="Parent" event-type="Approve"
identifier="1">
<event-match-attribute name="identifier"
wdo-name="ParentList[Context_Loop.loopCount]"/>
</event>
<event event-class="Child" event-type="Approve"
identifier="2">
<event-match-attribute name="identifier"
wdo-name="ChildDetails"/>
<multiple-occurring-event>
<list-wdo-name>ChildDetails</list-wdo-name>
</multiple-occurring-event>
</event>
</events>
</event-wait>
...
</event-wait-activity>
- event-wait
- This contains the details of the event wait associated with the specified activity. This includes the details of all the events for the event wait.
- wait-on-all-events
- The value of this flag indicates to the workflow engine if it should wait for events to be raised for all of the specified event waits before completing the associated activity. If set to false, the first event that matches one of the specified event waits will result in the completion of associated activity and the workflow progressing. When set to true, an event must be raised for each of the event waits specified for the activity before the activity is completed and the workflow progressed.
- events
- This contains the details of all of the events that the specified activity is waiting on.
- event
- This contains the details of one specific event that this activity is waiting on. The event details contain the following mandatory attributes:
- event-class
- This represents the class of business event that this process is waiting on.
- event-type
- This represents the type of business event that this process is waiting on. The combination of event-class and event-type will denote the business event required.
- identifier
- This represents the unique identifier of this event. The identifier is required to be unique only within the list of events for this activity.
- event-match-attribute
- This represents the workflow data object attribute (see Workflow Data Objects) that is used to match the required instance of the specific event. For example, in the first event specified in the metadata above, the workflow data object attribute would refer to the task identifier associated with the closing of a specific task. When this event is raised, the workflow engine will use the data in the event match attribute to uniquely identify the task to close.
- multiple-occurring-event
- This signifies that this event will represent a multiple occurring event. This means that if this metadata is specified for an event, the workflow engine will create one event wait record for each item in the list workflow data object specified as the multiple occurring event when that activity is executed. This allows the workflow engine to wait on multiple occurrences of the same event.
It should be noted that when the multiple occurring event is specified for an event, then an attribute from the associated list workflow data object must be used as the event match data for the event. This will ensure that each event generated by the workflow engine for the multiple occurring event will be unique.
- list-wdo-name
- This represents the name of the list workflow data object to be used as the multiple occurring event.