17.2. 配置安全点
要允许持久性,请将 jbpm-persistence
JAR 文件添加到应用的类路径中,并将进程引擎配置为使用持久性。当进程引擎达到安全点时,流程引擎会自动将运行时状态存储在存储中。
安全点是进程实例已暂停的位置。当进程实例调用达到进程引擎中的安全点时,进程引擎将对进程实例的任何更改存储为进程运行时数据的快照。但是,当完成进程实例时,进程运行时数据的持久快照将被自动删除。
BPMN2 安全点节点确保进程引擎在执行停止和提交事务时保存进程定义的状态。以下 BPMN2 节点被视为安全点:
所有中间 CATCH 事件
- timer Intermediate 事件
- 错误 Intermediate 事件
- 条件 Intermediate 事件
- compensation Intermediate 事件
- 信号 Intermediate 事件
- 升级 Intermediate 事件
- message Intermediate 事件
- 用户任务
- 自定义(由用户定义)服务任务,不完成处理程序中的任务
如果发生失败且需要从存储恢复进程引擎运行时,进程实例会自动恢复,并恢复其执行,因此不需要手动重新加载并触发进程实例。
考虑将运行时持久性数据视为进程引擎的内部。您不应该访问持久的运行时数据或直接修改,因为这可能会意外副作用。
有关当前执行状态的更多信息,请参阅历史记录日志。仅在绝对必要时查询数据库以便运行时数据。