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