Hi guys,
We are using JBPM 5 for long running processes in one of our products, both, the knowledge session and WorkItemInfo & ProcessInstanceInfo are persisted in a PostgreSQL database. Our processes involve a set of automated tasks along with UserTasks handled inside JBPM's HumanTask provided server ( the one that uses mina & JPA ).
For maintenance purposes, our application needs to be restarted once in a while so we need our processes to keep running after a sucesful rehydratation of the knowledge & JBPM contexts . We've tested a persistent approach like this:
- We started our application and started several instances of a process that involves at least one human task node.
- We've completed several human tasks in the current session and things went ok, workitems got completed & processinstances desappeared as processes came to and end.
- We left several human task in state"Ready" for our users to consume afterwards.
- We restarted the application and let JBPM rehydrate it's context via JPAKnowledgeService.loadStatefulKnowledgeSession()
Then we acquired and completed a "Ready" HumanTask, it got completed in JBPM HumanTask server's database backend but the process attached never got neither updater, nor its subsequent nodes were executed. This is weird.
We first tought it was a rehydratation problem and that the process definition was not loaded properly, but what was our suprise when we've been able to execute several new process instances wich we could complete properly. So, seems that we are able to complete "current" ( as in the current session, not the rehydrated ones ) process instances, but not able to complete process instances that are not started in the "current" session ( the rehydrated ones ).
What's wrong here. Is it not possible to resume a process in a rehydrated session when human tasks & JBPM's HumanTask server are involved?
Greets,
Alberto R. Galdo
argaldo@gmail.com