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