Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第2部 Servlet/JSP編 | > 第9章 セションリカバリ機能 | > 9.1 セションリカバリ機能について |
セションはSession Registry Serverにバックアップされ、Servletコンテナの異常発生時にSession Registry Serverにバックアップされたセションを他のServletコンテナにリカバリすることで、他のServletコンテナでセションを引き継ぎます。
セションをバックアップする契機は以下の2種類から選択できます。
バックアップの契機は、Session Registry Client側で、Interstage管理コンソールの以下の項目で設定します。デフォルト値は“一定間隔でバックアップする”で、バックアップする間隔のデフォルト値は5秒です。
Session Registry Clientの設定については、“Session Registry Clientの設定”を参照してください。また、Interstage管理コンソールの詳細については、Interstage管理コンソールのヘルプを参照してください。
バックアップの各契機について、以下の関係が成り立ちます。
リクエストごと > 一定間隔
一定間隔 > リクエストごと
isj2eeadminコマンドを使用して、上記の設定を行うこともできます。
isj2eeadminコマンドの詳細については、リファレンスマニュアル(コマンド編)の“isj2eeadmin”を参照してください。
リクエストの完了後にセションをバックアップします。また、クライアントへのレスポンスはセションがSession Registry Serverにバックアップされるのを待ってから完了します。
セションはリクエスト処理が完了した後にServletコンテナによって定期的にバックアップされます。
セションのバックアップに失敗した場合でもクライアント、および、Webアプリケーションへエラーの通知は行われません。これは、セションのバックアップに失敗した場合、クライアント、および、Webアプリケーションにエラーを通知するとセションリカバリ機能を使用することがアプリケーションの稼働率を下げる要因となってしまうためです。
また、セションのバックアップに失敗した場合は、以降Session Registry Serverは使用不可とマークされ、使用可能となるまで通信(バックアップ、リカバリ)を行いません。
Session Registry Serverが使用可能になる契機については“セションリカバリ機能の監視”を参照してください。
同じ1つのセションを扱うすべてのリクエストは同じ時間には1つのJavaVMで処理しなければいけないと規約化されています。したがって、いったん他のServletコンテナにセションがリカバリされた場合は、もとあったServletコンテナのセションは無効にする必要があります。
セションを他のServletコンテナにリカバリする際にSession Registry Serverは可能な限り、もとあったServletコンテナのセションを破棄しようとしますが、ネットワーク異常などで破棄できない可能性があります。その場合、もとあったServletコンテナのセションは、そのServletコンテナとSession Registry Server間の通信の復旧時に破棄されます。
目次 索引 |