|
|
タイムアウト・エラー
BEA Tuxedo システムでは、タイムアウト・エラーがサポートされており、アプリケーションがサービス要求またはトランザクションを待つ時間に制限があります。BEA Tuxedo システムでサポートされている設定可能なタイムアウト機構は、ブロッキング・タイムアウトとトランザクション・タイムアウトの 2 種類です。
ブロッキング・タイムアウトは、アプリケーションがサービス要求に対する応答を待つ時間の上限値を指定します。アプリケーション管理者は、コンフィギュレーション・ファイルにシステムのブロッキング・タイムアウトを設定します。
トランザクション・タイムアウトは、トランザクション (サービス要求が行われる場合もあり) の有効期間を定義します。アプリケーションのトランザクション・タイムアウトを定義するには、tpbegin() に timeout 引数を渡します。
通信呼び出しでは、ブロッキング・タイムアウトまたはトランザクション・タイムアウトのいずれかが返され、tpcommit() ではトランザクション・タイムアウトだけが返されます。いずれの場合も、トランザクション・モードのプロセスで呼び出しが失敗して TPETIME が返された場合は、トランザクション・タイムアウトが発生しています。
デフォルトでは、プロセスがトランザクション・モードではない場合、ブロッキング・タイムアウトが実行されます。通信呼び出しの flags パラメータに TPNOTIME を設定すると、フラグの設定値はブロッキング・タイムアウトだけに適用されます。プロセスがトランザクション・モードの場合はブロッキング・タイムアウトは実行されず、TPNOTIME フラグが設定されていても関係ありません。
プロセスがトランザクション・モードではない場合に、非同期呼び出しでブロッキング・タイムアウトが発生すると、ブロックされている通信呼び出しは失敗します。ただし、呼び出し記述子は有効なままであり、再度呼び出しを行う場合に使用できます。ほかの通信には影響ありません。
トランザクション・タイムアウトが発生すると、非同期トランザクション応答の呼び出し記述子 (TPNOTRAN フラグが指定されていないもの) は無効になり、参照できなくなります。
呼び出しがトランザクション・モードで行われていない場合、または flags パラメータに TPNOBLOCK が設定されていない場合、TPETIME は通信呼び出しでブロッキング・タイムアウトが発生したことを示します。
注記 TPNOBLOCK フラグが設定されている場合、ブロッキング状態が存在すると呼び出しは直ちに戻るので、ブロッキング・タイムアウトは発生しません。
タイムアウト・エラーの処理の詳細については、「トランザクションについて」を参照してください。
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|