代行ルート機能は、送信先のキューへメッセージを送信する処理で異常が発生した場合に、代行先として指定したキューへ自動的にメッセージを再送する機能です。代行ルートで業務処理が停止することなくメッセージ処理が行われることで、後続メッセージでキューが満杯になることを回避でき、ルーティング元のアプリケーションまで影響が波及することを防止できます。
メッセージ送信処理の異常が起きた場合に代行ルートへメッセージを自動ルーティング
ルーティング定義で定義された送信先のキューへメッセージを送信するとき、送信先のキューが停止している場合や、メッセージ送信時のネットワーク異常などで処理が失敗すると、後続処理を行うルーティングの送信先を代行ルートへ変更します。
メッセージ送信先のキューが閉塞状態の場合に代行ルートへメッセージを自動ルーティング
メッセージを送信するキューの滞留メッセージが監視蓄積データ率に達すると、後続処理を行うルーティングの送信先を代行ルートへ変更します。これにより、キューに滞留するメッセージ数を元に流量制御、負荷分散を行うことを可能にします。
監視蓄積データ率は、Interstage管理コンソールの [リソース] > [JMS] > [イベントチャネル] > [イベントチャネル名] > [環境設定] で設定することができます。各キュー単位にイベントデータ蓄積最大数に対する滞留メッセージの数の比率をパーセンテージで指定します。
以下に、代行ルートが設定されている場合での、異常発生時を表す図を示します。
閉塞状態を解除する目安となるしきい値(イベントデータ自動閉塞解除率)は、Interstage管理コンソールの [リソース] > [JMS] > [イベントチャネル] > [イベントチャネル名] > [環境設定] で設定します。
代行ルート先のキューにおいても滞留メッセージの数の比率が監視蓄積データ率を超えた場合、代行ルート機能は、代行ルート先のキューまたは実行ルートのキューのどちらかが閉塞解除となるまで待ち続けます。どちらかのキューの滞留メッセージ数の比率が、イベントデータ自動閉塞解除率を下回った場合に、自動的に業務が再開されます。
なお、COBOLアプリケーションを実行する非同期アプリケーション連携実行基盤では、上記動作は行わず、ワークユニット定義のリトライ動作となります。
注意
通常ルートへのメッセージ送信が成功し、その後、通常ルートの業務処理実行アプリケーションでの異常またはフローのタイムアウトにより、ルーティング処理を継続できない場合は、フロー定義ツールの異常処理定義で指定された後処理が実施され、エラーメッセージ退避キューへの退避などが行われます。メッセージをリカバリする場合には、再び通常ルートからルーティング処理が行われ、フロー定義ツールで代行ルートが定義されていても、代行ルートにメッセージが遷移することはありません。
代行ルートへのメッセージ送信が成功し、その後、代行ルートの業務処理実行アプリケーションでの異常またはフローのタイムアウトにより、ルーティング処理を継続できない場合のリカバリについても、通常ルートの場合と同様に再び代行ルートからルーティング処理が行われます。
メッセージのリカバリについては、“2.4.4 メッセージ退避機能”を参照してください。
また、apfwrecovmsgコマンドまたはapfwrecovfileコマンドの詳細については、“Interstage Business Application Server リファレンス”を参照してください。