7.2. ランタイムのステータス

7.2.1. ランタイムのステータス

プロセスが開始すると、そのプロセスのインスタンスが作成されます。例えば、販売注文のプロセスの例を見てみます。販売注文が依頼されるたびに、販売注文のプロセスのインスタンスが 1 つ作成され、このインスタンス内にはその販売注文に関連する情報のみが含まれます。そのインスタンスが永続的に格納された場合、少し時間がたった時点で実行を継続していくために必要となる必要最小限の情報のみが格納されます。エンジンは自動的にデータベース内にランタイムのステータスを保存することで、エンジンが呼び出されるたびに、呼び出しの最後およびセーフポイント (安全な状態)で変更が保存されるようにします。
データベースからエンジンをリストアする必要があった場合でも、プロセスインスタンスをリロードして手動でトリガーしないようにしてください。プロセスインスタンスは、タイマーの失効、プロセスインスタンスが依頼したタスクの完了、またはプロセスインスタンスに送信されたシグナルなどでトリガーされると、自動的に実行を再開します。エンジンは自動的にオンデマンドでプロセスインスタンスをリロードします。プロセスのスナップショットはリロードされ、スナップショットが取られてから発生した変更については失われてしまう点に留意することが重要です。
最新のスナップショットのステータスは以下でリトリーブ可能です。
ksession.getProcessInstance(id)
ランタイムの永続データは内部のものとみなされ、データが格納されるデータベーステーブルには直接アクセスしないようにしてください。プロセスインスタンスの現在の実行ステータスに関する情報が必要な場合は、履歴ログを参照してださい (「履歴ログ」 参照)。