再配信は、初回の配信が失敗した場合のメッセージ配信を処理するサービス品質機構です。再配信を使用することにより、システムでメッセージ配信を試行する回数、試行間隔、およびメッセージが配信不能な場合やエンドポイントが応答していない場合の最終結果を定義できます。
再配信は特定の接続に対して設定されます。設定するには、複合アプリケーションサービスアセンブリ (CASA) エディタからその接続の QoS アイコンをクリックします。これにより、その接続の「QoS プロパティー設定」が開きます。エディタの RedeliveryExtension セクションから、再配信のプロパティーを設定します。
再配信の設定パラメータは次のとおりです。
maxAttempts: プロジェクトでメッセージの再配信を試行する回数を指定します。試行が失敗するたびに、JBI コンポーネントにエラー状態が返されます。
waitTime: プロジェクトでメッセージの再配信を試行する間隔をミリ秒単位で指定します。
on-failure: 再配信の試行が指定回数に達したときに実行するアクションおよびメッセージの送信先を指定します。このパラメータには、delete、redirect、suspend、および error の 4 つのオプションがあります。
on-failure パラメータには、delete、redirect、suspend、および error の 4 つのオプションがあります。
delete: メッセージ再配信の最後の試行が失敗すると、QoS ユーティリティーはメッセージを削除し、JBI コンポーネントに Done 状態を返します。その時点で JBI コンポーネントは次のプロセスに進みます。delete オプションは In-Only メッセージ交換でのみサポートされます。
redirect: メッセージ再配信の最後の試行が失敗すると、QoS ユーティリティーは dead-message フォルダなどのユーザー定義のエンドポイントにメッセージをリダイレクトします。リダイレクトエンドポイントに正常に配信できた場合、QoS ユーティリティーは JBI コンポーネントに Done 状態を返します。その時点で JBI コンポーネントは次のプロセスに進みます。redirect オプションは In-Only メッセージ交換でのみサポートされます。
suspend: メッセージ再配信の最後の試行が失敗すると、JBI コンポーネントはプロセスインスタンスを中断します。このオプションは、JBI コンポーネントで監視が有効になっている場合のみサポートされます。これは、ユーザーが監視ツールを使用して中断されたインスタンスを再開する必要があるからです。このオプションは、In-Only と In-Out の両方のメッセージ交換でサポートされます。
error: メッセージ再配信の最後の試行が失敗すると、JBI コンポーネントは例外をスローします。このオプションは、JBI コンポーネントで監視が有効になっている場合のみサポートされます。これは、ユーザーが監視ツールを使用して中断されたインスタンスを再開する必要があるからです。このオプションは、In-Only と In-Out の両方のメッセージ交換でサポートされます。
注: on-failure の delete オプションと redirect オプションは、In-Out メッセージ交換には利用できません。In-Out メッセージ交換では、処理を進めるためにプロセスインスタンスから特定の応答が必要ですが、これらのオプションへの戻り値では十分ではないからです。
再配信の詳細については、Redelivery を参照してください。