I am synchronizing two executions using inclusing gateway. (like below diagram.) Both httptask1 and httptask2 should save the response to context variables which will be used in Manual task. The problem is if httptask1 completes first and reaches the inclusive gateway, the response is not persisted as it will not proceed until httptask2 completes.How can i model this scenario so that the data from both httptask gets persisted?
I don’t think I’m following the use case fully here: do you want the two http tasks to be executed? In parallel? Or after each other?
The first gateway is an exclusive one, but shouldn’t that be a parallel one if you want both tasks to happen? If the first one is a parallel one, you should make the second one a parallel gateway too.
@joram I need the two httptasks to be executed parallel. I have corrected BPMN as follows.
From my understanding, the data will be persisted only when execution ends. [i.e on wait tasks like timer, usertask, receivetask.]
When an execution reaches the inclusive gateway, the execution will not proceed waiting for the parallel execution to reach. In this case will the data be persisted?
In this example, the data will be persisted when both branches have finished and the user task is reached. If you want to have them independent, you can make the http tasks asynchronous. When doing so, you should put the joining gateway on asynchronous and exclusive. That way the data will be persisted at the joining gateway, as it’s a wait state for the engine.