BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo アプリケーションの設定   |   先頭へ   |   前へ   |   次へ   |   目次

 


要求を処理する時間を指定する

リクエストの処理中に、予期しないシステム・エラーが発生し、サービスが停止 (フリーズ) したり、制御不可能になる場合があります。このようなプロセスは削除することが望ましいですが、実際にこれらのエラーを検出したり、エラー原因を追跡することは困難です。BEA Tuxedo システムには、エラーを識別できなくても、このようなプロセスを終了できるメカニズムが組み込まれています。このメカニズムを使用するには、SVCTIMEOUT パラメータを設定します。

SVCTIMEOUT パラメータは、サービスが要求を処理できる時間 (秒) を指定します。このパラメータで定義された間隔が経過してもサービスが要求を処理できなかった場合、その要求の処理は強制終了されます。本質的に、サービス・タイムアウトは、停止または制御不能状態にあるアプリケーション・サーバのスカベンジ機能として働きます。デフォルトでは、BEA Tuxedo システムはサービス・プロセスを終了しません。この機能を有効にするには、SVCTIMEOUT を設定する必要があります。

UBBCONFIG ファイルの SVCTIMEOUT パラメータに値を割り当てるか、または TM_MIBTA_SVCTIMEOUT 属性を動的に変更することによって設定できます。SVCTIMEOUT または TA_SVCTIMEOUT の値には、サービスが 1 つのリクエストの処理に費やす時間の 2 〜 3 倍の時間を指定しておくことをお勧めします。このような値を設定しておくと、BEA Tuxedo システムは、停止状態のプロセスだけを削除します。

この節では、サービス・タイムアウト・エラーの原因と結果、および BEA Tuxedo システムによるエラーのレポート方法を説明します。また、エラーの処理方法に関するアドバイスも掲載しています。

タイムアウト発生時の処理

タイムアウトが発生すると、BEA Tuxedo システムは、停止されたサービスの実行元であるサーバ・プロセスを終了します。ただし、子プロセスは終了しません。次に、TPESVCERR エラーを返し、サービスの処理中に未知のエラーが発生したことを示します。会話型サービスでは、会話型イベントである TPEV_SVCERR が返されます。

サービスのタイムアウトの通知方法

BEA Tuxedo システムでは、以下の 3 つの機能を使用してサービス・タイムアウトを通知します。

SVCTIMEOUT 値が設定可能になったため、クライアント・アプリケーション側では、SVCTIMEOUT の値を超過して発生した TPESVCERR とそれ以外の原因で発生した TPESVCERR を簡単に識別できるようにしておくことが必要です。この情報は、ULOG にも記録されていますが、クライアント・プログラムによって抽出するのは困難です。サービス・タイムアウトの TPESVCERR をその他のエラーと区別するため、プログラムで TPESVCERR を検出した後に tperrordetail(3c) ルーチンを呼び出し、サービス・タイムアウトが発生したときに TPED_SVCTIMEOUT を生成することができます。

また、サービス・タイムアウトが発生すると、システム・イベントである .SysServiceTimeout が生成されます。.SysServiceTimeout イベントが発生すると、ULOG に次のように記録されます。

ERROR:.SysServiceTimeout:%TA_SERVERNAME、グループ %TA_SRVGRP、id %TA_SRVID サーバがサービス・タイムアウトのため強制終了しました。

サービス・タイムアウトの制御方法

 

先頭へ戻る 前のトピックへ 次のトピックへ