前提条件は以下です。
この機能はRemote Subprocessノードに対してのみ使用できるため、プロセス定義の1つにRemote Subprocessノードが追加済みである。
Remote Subprocessノードに対してエラーアクションを定義するには、以下の手順に従います。
Remote Subprocess ノードを選択し、[プロパティー]ビューを表示します。
[例外処理]タブを選択します。
ここで、Remote Subprocessノードに対してエラーアクションを追加できます。まだエラーアクションを1つも定義していない場合は、このタブに空のエラーアクションフォルダが表示されます。
図12.55 [例外処理]タブの表示
注意
このタブでは、一時停止時、再開時、中止時アクションも作成できます。これらのアクションは、特定のエラー処理動作の定義には使用されません。プロセスインスタンスの状態が管理者によって変更されたときに使用されます。詳細については、「12.10.3 一時停止時、再開時、中止時アクションの使用方法」を参照してください。
[追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
エラーアクションとしてのJava Actionを定義します。詳細については、「12.1 Java Action」を参照してください。
選択したJava Actionに対するアクション編集ダイアログで、[エラー処理]タブをクリックします。ここで、以下のエラー処理設定を指定できます。
図12.56 [エラー処理]タブの表示
エラー後の動作:エラーアクション実行後のプロセスインスタンスの動作を指定します。プロセスインスタンスをエラー状態にする場合は、[エラー状態へ遷移]ラジオボタンを選択します。エラーが発生すると、Java Actionとエラーアクションに対してプロセスレベルで指定された補償アクションが実行され、プロセスインスタンスはロールバックされてエラー状態になります。
プロセスインスタンスの実行を継続する場合は、[プロセス続行]ラジオボタンを選択します。エラーが発生すると、例外がキャッチされ、失敗したJava Actionに対して指定されているエラーアクションが実行されて、プロセスインスタンスは続行されます。デフォルト設定は、[エラー状態へ遷移]です。
注意
複数のエラーアクションを異なる設定で定義してある場合は、[エラー状態へ遷移]の設定が[プロセス続行]の設定よりも優先されます。
対象とするException:どのような例外がスローされた際にエラーアクションを実行するかを選択できます。エラーアクションをあらゆる種類の例外に対応させる場合は、[すべてのExceptionをcatchする]ラジオボタンを選択します。この場合、[追加]および[削除]ボタンは無効になります。
エラーアクションを特定の種類の例外に対応させる場合は、[以下で指定したExceptionをcatchする]ラジオボタンを選択します。この場合は、[追加]および[削除]ボタンを使用して、例外クラス名(たとえば、java.lang.NullPointerException)を指定する必要があります。
ただし、例外クラスとしてjava.lang.Exceptionを指定すると、[すべてのExceptionをcatchする]を指定した場合と同じ動作になります。さらに具体的に指定しない限り、すべての例外はこのクラスに属するからです。
任意のエラー処理設定を組み合わせることができます。組み合わせによって異なるエラー処理操作が実行されます。以下の表は、すべての可能な組み合わせと、定義済みJava Actionが実行された場合の効果を示しています。
エラー状態へ遷移 | プロセス続行 | |
---|---|---|
すべてのExceptionをcatchする | Java Actionが任意の種類の例外をスローすると、指定されたエラーアクションが実行されます。トランザクションはロールバックされ、プロセスインスタンスはエラー状態になります。 | 任意の種類の例外がJava Actionからスローされると、指定されたエラーアクションが例外をキャッチし、プロセスインスタンスは続行されます。 |
以下で指定したExceptionをcatchする | 指定された例外がJava Actionからスローされると、エラーアクションが実行されます。トランザクションはロールバックされ、プロセスインスタンスはエラー状態になります。 指定されていない例外がJava Actionからスローされると、エラーアクションは実行されず、トランザクションがロールバックされて、プロセスインスタンスはエラー状態になります(デフォルトのエラー処理動作)。 | 指定された例外がJava Actionからスローされると、エラーアクションが例外をキャッチし、プロセスインスタンスは続行されます。 指定されていない例外がJava Actionからスローされると、エラーアクションは実行されず、トランザクションがロールバックされて、プロセスインスタンスはエラー状態になります(デフォルトのエラー処理動作)。 |
アクション編集ダイアログで[OK]をクリックして、すべてのエラーアクションパラメタを確定します。
Remote Subprocessノードの起動が失敗すると、新しいエラーアクションが実行されます。エラーアクションは、Remote Subprocessノード用に指定された通常のJava Actionに対して割り当てることができます。詳細については、「12.1.7 Java Actionのエラー処理」を参照してください。