Using Checkpoints
A Checkpoint activity saves the state and data of a process instance so that it can be recovered at a later time, in case of a failure.
If an ActiveMatrix BusinessWorks engine fails, all processes that have a Checkpoint activity can be recovered and resume execution from the last checkpoint executed in the process instance.
Only the most recent state is saved by a checkpoint. If you have multiple checkpoints in a process, only the state from the last executed checkpoint is available for recovering the process.
Checkpoints save the state of the entire process instance. A process (parent process) can call another process (sub-process) in two ways: in-line and non-inline. An in-line sub-process is executed as part of the parent process job, while the non-inline sub-process spawns a new job. When a Checkpoint activity is executed in an in-line sub-process, the checkpoint saves the state of the current process instance, including the state of the parent processes. However, when a checkpoint occurs in a non-in-line sub-process, the checkpoint saves the state of the spawned process instance only.
- For Datastore : Configuring Database for the Engine
- For Group : Configuring Database for the Engine and Configuring the Engine for Group Persistence Mode
If the engine persistence mode is not configured with the correct value, an application with Checkpoint activity encounters an error at deployment.
Recovering After a Failure
Following a crash, when the engine is restarted, the process instances are recovered from the last checkpoint automatically. That is, all process instances that were check pointed will continue processing from the last executed Checkpoint activity.