This blog post, as part of this blog series, refers to the recently introduced Conditional Start feature in SAP NetWeaver BPM available with SAP NetWeaver 7.3 EHP 1 SP 06 and higher.
The correlation feature in SAP NetWeaver BPM differentiates between two transactions, message matching and message consumption. In process definitions that implement the conditional start pattern, all messages, which are already matched but not yet consumed will be resent to the conditional start endpoint when the process instance is terminated or completed. If there are no running instances of the process definition, one of these resent messages will start a new process instance, assuming the start condition of the process definition is fulfilled. For more detailed information, please, refer to the documentation on help.sap.com.
However, it is important to be aware of a possible loss of a resent message in certain scenarios. It is possible that the resent message is received by the web service endpoint of the message trigger but it is discarded because the start condition of the process definition is not fullfiled by the payload of the resent leftover message. This means that no process instance is started. For detailed information about monitoring discarded messages, please, see the blog about Conditional Start: Monitoring (4/7)
The following examples describe scenarios that could lead to a loss of resent messages.
In this scenario, two different versions, V1 and V2, of a conditional start process definition exist. Both versions of the definition use the same message trigger but have different start and correlation conditions. Figure 1 and figure 2 illustrate the start and correlation conditions of the process definition 1 and 2.
Figure 1: Process definition version V1
Figure 2: Process definition version V2
The following chronology of events causes that a resent leftover message is discarded:
In this scenario, there is a conditional start process definition, where the process start condition is more specific than the correlation condition of the intermediate message event. An example of such a process definition is illustrated in figure 3.
Figure 3: Process definition where the start condition is more specific than the correlation condition.
The following chronology of events causes that a resent leftover message is discarded:
When modelling conditional start patterns in process definitions, be aware of the following factors as they might cause that resent leftover messages are discarded:
If some messages are inadvertently discarded during resent, examining the start and correlation conditions of the deployed process definitions. This is a good start for investigation.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
36 | |
25 | |
17 | |
13 | |
8 | |
7 | |
7 | |
6 | |
6 | |
6 |