3.9.1 無応答監視の処理シーケンス

無応答監視の処理シーケンスを次の図に示します。

図3-9 無応答監視の処理シーケンス

[図データ]

図の説明
  1. 日立APIポートレット内のメインスレッドは,uCosminexus Portal Frameworkに対してタイマーを作成し無応答監視スレッドを実行します。
  2. uCosminexus Portal Framework内の無応答監視スレッドは,JSPポートレットの無応答監視時間をポートレット定義ファイルのパラメタ(hptl.MultiJSP.tags.watch)から取得します。
    ポートレット定義ファイルの詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「ポートレット定義ファイル(jetspeed-config.jcfg)」の説明を参照してください。
  3. 日立APIポートレット内のメインスレッドおよびuCosminexus Portal Framework内の無応答監視スレッドでは,それぞれ次に示す処理をします。
    日立APIポートレット内のメインスレッド
    RequestDispatcherインタフェースのforwardメソッド※1を利用して日立APIポートレットに表示するコンテンツ(iframeを利用している場合はiframe内のコンテンツを含む)を読み込みます。
    uCosminexus Portal Framework内の無応答監視スレッド
    2.で取得した無応答監視時間の間,待機します。
  4. 日立APIポートレット内のメインスレッドがコンテンツ(iframeを利用している場合はiframe内のコンテンツを含む)の読み込みを完了した場合,uCosminexus Portal Framework内の無応答監視スレッドは,待機を終了して次の処理を実行します。
  5. 2.で取得した無応答監視時間を過ぎても(タイムアウトになっても)JSPポートレット内のメインスレッドが終了していない場合,または生存している場合,uCosminexus Portal Framework内の無応答監視スレッドは,interruptメソッド※2を使用してメインスレッドに割り込みます(interruptを通知します)。
  6. 日立APIポートレット内のメインスレッドでInterruptedException※2が発生します。
    注意事項
    メインスレッドでは,例外が発生した場合でも実行する必要がある処理(共通資源の解放など)はfinallyブロックに記述してください。

注※1 J2EEのAPIです。

注※2 J2SEのAPIです。

なお,uCosminexus Portal Frameworkが提供しているライブラリのすべてのクラスは,Cosminexusのメソッドキャンセル機能の保護区に設定されています。メソッドキャンセル機能の保護区については,マニュアル「Cosminexus アプリケーションサーバ V8 機能解説 運用/監視/連携編」,またはマニュアル「Cosminexus V9 アプリケーションサーバ 機能解説 運用/監視/連携編」を参照してください。