Hi,
I have the following simple process having
the WSHT ‘HumanTask’ (Drools Flow 5.1.0.M1)
Start Nodeà Human Task à End Node
Under the following scenario:
a) MinaTaskServer service is started
b) Drools Flow Process is started – as it reaches the Human Task
( having ‘Wait for completion’ as true) – following 4 commands
are executed on the mina service
i.
AddTaskRequest
-à This basically creates the task in the WSHT task tables
ii.
RegisterForEventRequest
à This is called 3 times to register for following task events (TaskCompletedEvent, TaskFailedEvent, TaskSkippedEvent)
c) I guess the above 3 events (b ii) are registered for a callback to
the Drools process so that the ‘work item’ (related to Human Task) state
can be properly changed when the above 3 task event occurs – and the
drools process can move forward.
Now my question is what if the Mina
service has to be stopped in between (task
has been created but not yet reached the completed status) – then we lose all the registered
events (as these are not persistent events) – now when we restart the
Mina service we query the task – and let’s say we changed the state
through “Reservedà InProgressàCompleted”. Now since the registered events are lost, how does
the work item will be marked as “completed” (as the associated WSHT
task has completed) so that the drools process can move forward –
basically end in this case?
Any insight will be highly appreciated.
Thanks
Vijay