Class MigrationManager
- java.lang.Object
-
- org.jbpm.runtime.manager.impl.migration.MigrationManager
-
public class MigrationManager extends Object
MigrationManager is responsible for updating all required components during process instance migration. Each process instance should be have dedicated instance of the manager to allow simple execution model. Each manager maintains MigrationReport that is constantly updated when migration is running. It comes with following migration entries (as part of the report)- INFO - written mostly for information about given migration step and its result
- WARN - not recommended operation performed though did not stop the migration
- ERROR - terminates the migration and restores to last state - before migration
- validation - various checks to ensure migration can be performed to limit number of failed migrations
- migration - actual migration that changes state of the process instance and its index data - history logs
-
Migration can either be performed with or without node instance mapping. Node instance mapping allows to map nodes
only of the same type as it simply changes node reference of the node and does not replace the node instance
(by canceling current node and triggering new one).
-
-
Constructor Summary
Constructors Constructor Description MigrationManager(MigrationSpec migrationSpec)
Creates new instance of MigrationManager with given migration specification.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Map<Long,List<TimerInstance>>
cancelActiveTimersBeforeMigration(org.kie.api.runtime.manager.RuntimeManager manager)
protected TimerManager
getTimerManager(org.kie.api.runtime.KieSession ksession)
MigrationReport
migrate()
Performs migration without node instance mappingMigrationReport
migrate(Map<String,String> nodeMapping)
Performs migration with node mapping (if non null).protected void
rescheduleTimersAfterMigration(org.kie.api.runtime.manager.RuntimeManager manager, Map<Long,List<TimerInstance>> timerMigrated)
protected void
updateBasedOnTrigger(TimerInstance timerInstance)
-
-
-
Constructor Detail
-
MigrationManager
public MigrationManager(MigrationSpec migrationSpec)
Creates new instance of MigrationManager with given migration specification. Migration specification will be validated upon call tomigrate()
method- Parameters:
migrationSpec
- definition of what needs to be migrated
-
-
Method Detail
-
migrate
public MigrationReport migrate()
Performs migration without node instance mapping- Returns:
- returns migration report describing complete migration process.
-
migrate
public MigrationReport migrate(Map<String,String> nodeMapping)
Performs migration with node mapping (if non null).- Parameters:
nodeMapping
- node instance mapping that is composed of unique ids of source node mapped to target node- Returns:
- returns migration report describing complete migration process.
-
getTimerManager
protected TimerManager getTimerManager(org.kie.api.runtime.KieSession ksession)
-
cancelActiveTimersBeforeMigration
protected Map<Long,List<TimerInstance>> cancelActiveTimersBeforeMigration(org.kie.api.runtime.manager.RuntimeManager manager)
-
rescheduleTimersAfterMigration
protected void rescheduleTimersAfterMigration(org.kie.api.runtime.manager.RuntimeManager manager, Map<Long,List<TimerInstance>> timerMigrated)
-
updateBasedOnTrigger
protected void updateBasedOnTrigger(TimerInstance timerInstance)
-
-