Hi,
As you may know, previous releases of JBPM had support for jPDL
processes versioning.
As per the deployment process, the process was serialized as Java
objects into the database as blobs once it was converted as such at
deployment time.
From that time on, every process in execution was linked to it's process
serialization ( the version that was active at that moment ) and subsequent
serializations of newer versions of the same process where versioned and
the new process instances keep track of what version of the process
definition they were linked to. That made very easy the task of updating
process definitions in an application just keeping in mind that previous
process instances will execute by the previous process definition and newer
process instances will follow the latest process definition version.
Now, in JBPM 5.x things don't seem to work that way anymore. Processes
are defined using BPMN 2.0, live in a Drools KnowledgeSession, and seems
there's no support for process definition versioning.
So, how would you solve the problem of having in the same
KnowledgeSession different versions of the same process ( each having it's
bag of process instances attached ) in JBPM 5.x ? Is it that even
possible?. We have a long time running application that has up to 7
different versions of a process and this really is a feature we need.
Seems that one solution would be to have different versions of the
process definition live in the knowledge session bound to different process
names and make your application aware of that when launching new instances
... but that seems more of a workaround ... Is this really the unique
solution for this?
Greets,
Alberto R. Galdo
argaldo(a)gmail.com