非同期アプリケーション連携実行基盤で動作するアプリケーションは、以下の2通りのリトライ方式を選択することができます。
Interstage管理コンソールからワークユニット定義で指定するリトライ
ワークユニット定義のリトライは、システム構築シートで設定します。
詳細は、“Interstage Business Application Server セットアップガイド”の“ワークユニット設定とアプリケーション情報の入力”を参照してください。
フロー定義ツールの異常処理定義で指定するリトライ
ワークユニット定義で指定するリトライは、非同期アプリケーション連携実行基盤およびアプリケーションの処理をロールバック後、メッセージの受信からやり直します。
フロー定義ツールの異常処理定義で指定するリトライは、非同期アプリケーション連携実行基盤およびアプリケーションの処理のロールバックを行わず、異常が発生したアプリケーションの呼出しをリトライします。
なお、COBOLアプリケーションを実行する非同期アプリケーション連携実行基盤では、ワークユニット定義のリトライ回数は、リトライ回数ではなく実行回数の意味となります。つまり、リトライ回数に1を設定した場合、リトライは行いません。また、非同期アプリケーション連携実行基盤で動作するアプリケーションの前処理、業務処理、または後処理が強制リトライで終了した場合(処理結果情報に3が設定された場合)は、フロー定義ツールの異常処理定義で指定するリトライの定義を無視し、Interstage管理コンソールからワークユニット定義で指定するリトライの定義に従ってリトライが行われます。
例として、Javaアプリケーションを実行する非同期アプリケーション連携実行基盤において、ワークユニット定義でリトライ回数を3と指定し、フロー定義ツールの異常処理定義のリトライ回数を5と指定した場合、以下のように最大で5×(1+3)=20回のリトライが実施されることになります。
フロー定義ツールのリトライを5回実施
非同期ワークユニット定義のリトライを1回実施(通算1回め)
フロー定義ツールのリトライを5回実施
非同期ワークユニット定義のリトライを1回実施(通算2回め)
フロー定義ツールのリトライを5回実施
非同期ワークユニット定義のリトライを1回実施(通算3回め)
フロー定義ツールのリトライを5回実施
異常処理定義情報にリトライ回数とリトライ間隔を指定することで、内部リトライ回数を指定することができます。
以下にリトライ回数、およびリトライ間隔の定義詳細を示します。
リトライ回数の指定
異常発生時に行うリトライ回数を定義します。
初期設定で3回のリトライを行いますが、フロー定義ツール画面上で、リトライ回数を変更することができます。
リトライ間隔の指定
リトライを行う間隔をミリ秒で指定します。
非同期アプリケーション連携実行基盤では、指定された間隔の時間が経過後にリトライを行います。リトライ間隔の初期値は5ミリ秒に設定されていますが、フロー定義ツール画面上で、リトライ間隔を変更することができます。
注意
1つのアプリケーションから複数のアプリケーションへメッセージを送信する運用時に、送信処理で異常が発生した場合は、Interstage管理コンソールのワークユニット定義で指定するリトライが実施されます。複数の送信先へメッセージを送信する処理においては、異常処理定義で指定するリトライは実施されません。ただし、Javaアプリケーションを実行する非同期アプリケーション連携実行基盤で、複数の送信先へメッセージを送信するアクティビティの業務処理実行アプリケーションでエラーが発生した場合は、異常処理定義で指定するリトライが実施されます。