An event message (JMS / XML) is matched to an undercover agent by process app acronym and UCA name; which snapshot handles it is decided by BAW, not by the message:
- By default the event goes to the default snapshot of the process app on that Process Server (the snapshot marked as default in Process Admin > Installed Apps).
- To target a specific snapshot, add the snapshot to the <event> element: snapshot="1.4" (acronym of the snapshot) - or, on older releases, put the snapshot id in the queue name / message property as documented for your level. On the Process Center (development) the tip is addressed with the branch / track acronym.
- For intermediate message events (a running instance waiting), the snapshot does not matter: the message is delivered to every running instance whose correlation key matches, whatever snapshot it runs on, as long as the UCA of that snapshot is the one that fired.
<eventmsg>
<event processApp="ORD" ucaname="OrderConfirmed" snapshot="1.4">OrderConfirmed</event>
<parameters>
<parameter><key>orderId</key><value>ORD-42</value></parameter>
</parameters>
</eventmsg>
<!-- send it: JMS text message to the BAW event queue (jms/eventqueue on the Process Server), or
POST /rest/bpm/wle/v1/process?action=sendMessage&message=<url-encoded xml> -->Operational rule: after installing a new snapshot, either make it the default or keep sending with an explicit snapshot attribute until the old instances are drained - otherwise start-event UCAs suddenly create instances on the new version. Process Admin > Event Manager shows the queued events per snapshot when something goes wrong.
References