このタスクを実行する理由とタイミング
完了済みのプロセス・インスタンスは、プロセス・モデル内のプロセス・テンプレートに対応するプロパティーが設定されていれば、Business Process Choreographer データベースから自動的に削除されます。
監査ログに書き込まれていないプロセス・インスタンスのデータを照会する場合や、プロセスの削除をオフピーク時に遅らせる場合などに、プロセス・インスタンスをデータベースに保存しておくことができます。ただし、不要になったプロセス・インスタンス・データがディスク・スペースやパフォーマンスに影響を与える可能性があります。したがって、プロセス・インスタンス・データを定期的に削除する必要があります。
プロセス・インスタンスを削除するには、プロセス管理者権限が必要であり、そのプロセス・インスタンスは、トップレベルのプロセス・インスタンスでなければなりません。
以下の例では、完了したプロセス・インスタンス
をすべて削除する方法が示されています。
このタスクのステップ
- 完了したプロセス・インスタンスをリスト
します。
QueryResultSet result =
process.query("DISTINCT PROCESS_INSTANCE.PIID",
"PROCESS_INSTANCE.STATE =
PROCESS_INSTANCE.STATE.STATE_FINISHED",
null, null, null);
このアクションは、完了したプロセス・インスタンスをリストした照会結果セットを戻します。
- 完了したプロセス・インスタンスを削除します。
while (result.next() )
{
PIID piid = (PIID) result.getOID(1);
process.delete(piid);
}
このアクションは、選択されたプロセス・インスタンスをデータベースから削除します。