Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第2部 Servlet/JSP編> 第14章 セションリカバリ> 14.1 セションリカバリについて

14.1.4 セションリカバリ機能の注意事項

 セションリカバリ機能を使用する場合の注意事項を説明します。

■セションオブジェクトについて

 セションリカバリ機能を利用する場合、Webアプリケーションがセションに格納するオブジェクト(セションオブジェクト)は、シリアライズ可能でなければなりません。ユーザ定義オブジェクトを開発する場合には、java.io.Serializableインタフェースを実装する必要があります。
 セションリカバリ機能が有効な状態で、実装されていないオブジェクトをセションに格納すると、IllegalArgumentExceptionが発生します。
 OSおよびプロセス(Java VM)固有の資源を表すオブジェクトをセションに格納した場合、動作の保証はできません。たとえば、Threadクラスや入出力に関するクラス(InputStreamクラスやWriterクラス等を継承したクラス)、CORBAやEJBのクライアント(スタブ、org.omg.CORBA.ORBやjavax.naming.Context等、およびこれに類するオブジェクトへの参照を保持するクラス)などはJava VMに固有の資源です。ユーザ定義オブジェクトを開発する場合には、このようなクラスを継承したり、このようなクラスへの参照を保持したりしないようにしてください。
 シリアライズ可能でないインスタンス変数には、transient修飾子を宣言してください。
 また、セションオブジェクトのサイズが大きくなればなるほど、実行速度が遅くなります。

■セションリカバリの保証範囲

 セション情報がリカバリされる保証範囲は、Session Registryサーバの環境定義によります。
 セションリカバリの保証範囲については、“セションリカバリの保証範囲”を参照してください。

■SOAPサービスについて

 セションリカバリ機能を利用する場合、SOAPサービスのSOAPルータを運用することはできません。

■セションに格納したユーザ定義オブジェクトのクラスファイルを更新した場合

 セションリカバリ機能が有効な状態で、セションに格納したユーザ定義オブジェクトのクラスファイルを更新した場合、セションに格納したユーザ定義オブジェクトを正しく復元できないことがあります。この場合は、サーブレット・コンテナおよびSession Registryサーバを再起動してください。
 また、永続化を行っている場合は、Session Registryサーバの起動前に、セション永続化情報定義ファイルの“serialize.file.path”のディレクトリ配下にあるファイルを削除してください。

■マシンの時刻について

 サーブレット・コンテナが動作するマシンとSession Registryサーバが動作するマシンの時刻を等しくする必要があります。
 時刻にずれが生じる場合は、定期的に同じNTP/SNTPサーバを参照するなどして時刻を修正してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006