Hello
I am looking into process versioning, and have found a forum about that (see below).
I am using Spring based process applications which are deployed to a shared process engine.
My Java delegates are Spring beans and service tasks use an expression to reference the bean. I could use the versioning strategy described in the forum entry below.
If I understand the forum entry correctly, the Java delegates are “unbound” from the process instance when the process application (EAR/WAR) archive is undeployed. If a new process application (for the same process definition) is deployed, then the Java classes from the application are “rebound” to the process instance.
My question is: what kind of state is the process in, when the process application is missing?
For example, I have tried starting a new process (async start event), when the process application (WAR archive) was undeployed. The process is started, but it remains in the start event. No error is thrown, it just stays in the start event.
If the process application is again deployed, the process continues as if noting had happened…
I am wondering what happens to running process instances, when the process application archive is undeployed (and the Java delegate classes are missing)? For example, if a timer would kick in at that very moment the archive is undeployed, and the process would enter a service taks using a Java delegate? Would it also just wait?
Are there other ways of doing versioning - perhaps also versioning the Java classes (I think it can be done using Scripts for service tasks logic, but I would rather use Java classes than scripts)
Thanks.
BR
Michael