15.5. 実行エラーの自動承認

実行エラーが発生すると、デフォルトでは承認されず、承認されるには手動での作業が必要になります。承認が行われてないと、実行エラーは注意が必要な情報としてみなされます。ボリュームが大きい場合は、手動作業には時間がかかるため、状況によっては適当ではありません。

自動承認によりこの問題が解消されます。これは jbpm-executor を使用したスケジュールジョブをベースとするため、以下の 3 つのタイプのジョブが利用できます。

org.jbpm.executor.commands.error.JobAutoAckErrorCommand
1 回失敗したものの、別の実行でキャンセル、完了、もしくは再スケジュールされたジョブを探します。このジョブは Job タイプの実行エラーのみを承認します。
org.jbpm.executor.commands.error.TaskAutoAckErrorCommand
1 回失敗したものの、いずれかの終了状態 (completed、failed、exited、obsolete) にあるタスクのユーザータスク実行エラーを自動承認します。このジョブは、Task タイプの実行エラーのみを承認します。
org.jbpm.executor.commands.error.ProcessAutoAckErrorCommand
エラーがアタッチされたプロセスインスタンスを自動承認します。プロセスインスタンスが既に終了してる (completed または aborted) エラー、もしくはエラーの発生元であるタスクがすでに終了しているエラーを承認します。これは init_activity_id 値をベースにしています。このジョブは、これらの条件に合致する実行エラーのタイプすべてを承認します。

ジョブは KIE Server で登録できます。Business Central では、以下のようにしてエラーに対する自動承認ジョブを設定できます。

前提条件

  • プロセス実行中に 1 つ以上のタイプの実行エラーが発生したが、さらなる注意を必要としていない。

手順

  1. Business Central で、MenuManageJobs の順にクリックします。
  2. 画面右上の New Job をクリックします。
  3. Business Key フィールドにプロセス相関キーを入力します。
  4. Type フィールドに上記のリストから自動承認ジョブタイプを追加します。
  5. Due On でジョブの完了時間を選択します。

    1. ジョブをすぐに実行する場合は、Run now オプションを選択します。
    2. 特定の時間にジョブを実行する場合は、Run later を選択します。Run later オプションの横に日時フィールドが表示されます。フィールドをクリックしてカレンダーを開き、ジョブの特定の日時をスケジュールします。

      auto acknowledge error job1
  6. Create をクリックしてジョブを作成し、Manage Jobs ページに戻ります。

以下のステップは任意となり、自動承認ジョブを 1 回のみ (SingleRun) または特定の間隔 (NextRun) で実行するか、承認するジョブの検索にエンティティーマネジャーファクトリーのカスタム名を使用 (EmfName) して実行するように設定できます。

  1. Advanced タブをクリックします。
  2. Add Parameter ボタンをクリックします。
  3. ジョブに適用する設定パラメーターを入力します。

    1. SingleRun: true または false
    2. NextRun: 2h、5d、1m などの時間表示。
    3. EmfName: カスタムのエンティティーマネージャーファクトリーの名前。

      auto acknowledge error job2