18.2. セーフポイントの設定

永続化を有効にするには、jbpm-persistence JAR ファイルをアプリケーションのクラスパスに追加し、プロセスエンジンが永続化を使用するように設定します。プロセスエンジンはセーフポイントに到達すると、自動的にランタイムステータスをストレージに保存します。

セーフポイントとは、プロセスインスタンスが一時停止するポイントです。プロセスエンジンでプロセスインスタンスの呼び出しがセーフポイントに到達すると、プロセスエンジンはプロセスインスタンスの変更をプロセスランタイムデータのスナップショットとして保存します。ただし、プロセスインスタンスが完了すると、永続化されたプロセスインスタンスランタイムデータのスナップショットが自動的に削除されます。

BPMN2 セーフポイントノードを使用すると、プロセスエンジンにより、実行が停止してトランザクションがコミットされた時点のプロセス定義の状態が保存されます。以下の BPMN2 ノードがセーフポイントとみなされます。

  • すべての中間キャッチイベント

    • タイマー中間イベント
    • エラー中間イベント
    • 条件中間イベント
    • 補償中間イベント
    • シグナル中間イベント
    • エスカレーション中間イベント
    • メッセージ中間イベント
  • ユーザータスク
  • ハンドラーでタスクが完了されないカスタム (ユーザーが定義) のサービスタスク。

障害が発生し、ストレージからプロセスエンジンのランタイムを復元する必要がある場合は、プロセスインスタンスは自動的に復元され、それらの実行が再開されるので、手動でプロセスインスタンスを再読み込みしたり、開始したりする必要はありません。

ランタイムの永続データはプロセスエンジン内にあるとみなします。永続的なランタイムデータにアクセスしたり、直接変更したりしないでください。予期しない結果になる場合があります。

現在の実行ステータスについての詳細は、履歴ログを確認してください。本当に必要な場合にのみ、ランタイムデータのデータベースにクエリーしてください。