cancel
Showing results for 
Search instead for 
Did you mean: 

how to deal with old process instance when the process updated

mm524262909
Champ in-the-making
Champ in-the-making
the process defination will change and when changed, how to deal with the old process instance
this is to say , how the old process instance will carry on next ?
11 REPLIES 11

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi,

"old" - already running process instances behaves according to exact process definition version. This process definition (exact version) did not change. (does not matter that there is new process definition version). "Old" process instances works according to "old" process definition.

Regards
Martin

but i want the  "Old" process instances works according to "new" process definition. what can i do ? can you help me or give me some advice ?

but i want the  "Old" process instances works according to "new" process definition.
what can i do ? can you help me or give me some advice ?

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi,

There are several posts on the forum which deals with this topic. Use org.activiti.engine.impl.cmd.SetProcessDefinitionVersionCmd.

Regards
Martin

but when the new process and the old one has conflict , what will the engine do ?
for example, in the old , there is three parallel tasks and one of them is completed, but now we changed the process defination and merge this three tasks and Use org.activiti.engine.impl.cmd.SetProcessDefinitionVersionCmd. now in the new process , the process instance is in the places of the merged task ? and what about some even worse conflict  ?
can you give me some links about the problem  i mentioned here ?

ollib
Champ in-the-making
Champ in-the-making
in general, this rule applies (i guess this is true for most workflow engines like activiti, jbpm …):

when you start a process instance based upon a given process definition, it is bound the this process definition forever. you can not work on an old process instance with a newer process definition. old process instances will continue to execute on the old process definition, new process instances will execute on the new process definition.

mm524262909
Champ in-the-making
Champ in-the-making
but if i want ,  is there a solution ?
or  can i do something to transform the old to the new ?
and someone up said org.activiti.engine.impl.cmd.SetProcessDefinitionVersionCmd
i think activiti should have supply something ?

trademak
Star Contributor
Star Contributor
You can use the SetProcessDefinitionVersionCmd yes. This will move a process instance to a different process definition.

Best regards,

mm524262909
Champ in-the-making
Champ in-the-making
but when the new process and the old one has conflict , what will the engine do ?
for example, in the old , there is three parallel tasks and one of them is completed, but now we changed the process defination and merge this three tasks and Use org.activiti.engine.impl.cmd.SetProcessDefinitionVersionCmd. now in the new process , the process instance is in the places of the merged task ? and what about some even worse conflict ?
can you give me some links about the problem i mentioned here ?