トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor ユーザーズガイド
TSCノード(TSCデーモンまたはTSCレギュレータ)との接続が障害などによって切断された場合,クライアントアプリケーションからメソッドを呼び出すと例外が返ります。その場合に再度メソッドを呼び出すには,クライアントアプリケーションでgetTSCClient()メソッドを発行してTSCノードに接続してからTSCユーザプロキシを生成するなどの複雑な処理が必要です。
このような場合には,オートリバインド機能を使用することで,TSCノードに自動的にリバインドできます。クライアントアプリケーションは,例外が発生する前に生成していたTSCユーザプロキシを使用して,再度,メソッドを呼び出せます。
オートリバインド機能を使用する場合は,クライアントアプリケーションの開始時に-TSCRebindTimesオプションにリバインド回数を指定し,-TSCRebindIntervalオプションにリバインド間隔を秒単位で指定します。
オートリバインド機能は,次の表に示す例外が発生したときに動作します。
表2-1 オートリバインド機能が動作する例外(TSCデーモンへ直結するクライアントアプリケーションの場合)
内容コード | 完了状態 | 例外通知 |
---|---|---|
SEND_CLNT_FAILURE | COMPLETED_NO | × |
COMPLETED_MAYBE | 〇 | |
CALL_IN_END | COMPLETED_NO | × |
表2-2 オートリバインド機能が動作する例外(TSCレギュレータを経由するクライアントアプリケーションの場合)
内容コード | 完了状態 | 例外通知 |
---|---|---|
SEND_THIN_CLNT_FAILURE | COMPLETED_NO | × |
COMPLETED_MAYBE | 〇 | |
CALL_IN_END | COMPLETED_NO | × |
-TSCTimeOutRebindオプションを指定すると,次の表に示すタイムアウト例外が発生したときにもオートリバインド機能が動作します。サーバのハード障害やネットワーク障害などの,TCP/IPですぐに検知できない障害が発生した場合に有効です。サーバアプリケーションからの応答が監視時間を超えた場合にもオートリバインド機能が動作するため,注意してください。
表2-3 オートリバインド機能が動作する例外(-TSCTimeOutRebindオプションを指定した場合)
内容コード | 完了状態 | 例外通知 |
---|---|---|
TIMED_OUT | COMPLETED_MAYBE | ○ |
これらの例外が発生した場合には,コネクション切断などの障害時ではなくても,オートリバインド機能が動作します。
さらに,オートリバインド機能の動作の有無は,接続元とその接続対象によっても異なります。各接続でオートリバインド機能が動作するかどうかを次の表に示します。
表2-4 各接続でのオートリバインド機能の動作の有無
接続元 | 接続対象 | 動作の有無 |
---|---|---|
クライアントアプリケーション | TSCデーモン | ○ |
クライアントアプリケーション | TSCレギュレータ | ○ |
TSCレギュレータ | TSCデーモン | × |
サーバアプリケーション | TSCデーモン | × |
TSCデーモン※ | TSCデーモン | × |
オートリバインド機能を使用する場合の注意事項を次に示します。
(リバインド回数−1)×(リバインド間隔)
All Rights Reserved. Copyright (C) 2002, 2005, Hitachi, Ltd.