Hi,
I am new to Camunda and trying to achieve some good design for one of the problem that i have now.
the scenario goes like,
Start the process execution with incoming message
Do the first step in service task (external spring boot and java)
Event gateway waiting for the incoming message for secondStep and thirdStep. Once the secondStep is done. go back to gateway for third step. Once received thirdStep incoming message stop the process.
If the incoming messages are not received in the gateway, write to reporter (external service task) for daily for twice (2days). On 7th day write to reporter (same external service task).
If the messages are not received till 30th day End the process.
You can have possible race conditions with your design: Example: When your second step completes, if the message for the third step comes in before the second step has been completed/transaction has completed, then the message will go unheard.
Same scenario if your timers are executing, and the second or third step messages are sent into the engine, the messages will be ~lost because the process instance is working on the timers and not waiting for the messages.
Thanks for quick reply StephenOTT.
if second step is done go for third. There is a possibility of directly coming to third step from external messaging system(second step is completed by them not within the scope of camunda).
Regarding timers, once âwrote to reporterâ or log, they will try to reach the event gateway. âGoing back to gateway and waiting for messagesâ - is still the instance alive?
Hi StphenOTT, It is interesting to know the non-interrupting timer events. But how the sub processes trigger the timers? Will have a look into to that area. Thanks anyways.
But how the sub processes trigger the timers? Will have a look into to that area. Thanks anyways.
Take a look at the Event Sub Process Docs and the Non-Interrupting Event Docs. They explain that Event Sub Processes are triggered as parallel executions