My problem is that the migration sometimes doesn’t work. And I cannot understand why.
It would be good if someone could help me.
I deploy two process definitions that are very simple. Both have only sequential activities:
- First process definition: S-> A-> X-> E
- Second process definition: S-> A-> X-> B> E.
Where S is start activity, A, B and E are java activity and X is state activity.
First use case that works: I deploy two definitions. Then I instantiate and start the first definition. In this case migration works and it migrates in activity X of the second process definition and activity B is executed.
Second use case that doesn’t work: I deploy only the first process definition and then immediately run it. In this case execution waits for signal in activity X. Then I deploy second process definition, migrate instance to new second definition and signal the execution. But it will continue execution of the first definition, although running instance has a process definition Id set to the second definition.
I don’t understand what can be wrong. Can someone explain me how exactly does Deployment works and why it is different, when I deploy two process definitions immediately and start the first or sequentially and start in between the first. I use DefaultMigrationHandler from jBPM 4.2.
Sorry for my bad English.