- PR -

セッション格納オブジェクトのSerializableについて

1
投稿者投稿内容
どらねこ
常連さん
会議室デビュー日: 2004/01/05
投稿数: 25
投稿日時: 2006-03-08 15:11
分散環境でWebアプリケーションを構築する場合、
セッションに格納するオブジェクトはSerializableインターフェイスを実装する必要があると思いますが、
例えば全てのセッション格納対象オブジェクトをフィールドに持つクラスを定義し(下記SessionSaveBeansのような)、
そのインスタンスのみをsession.setAttributeする場合は、
SessionSaveBeansだけにimplements Serializableを実装すればよいのでしょうか?
それとも、SessionSaveBeansの持つフィールド値である各クラス(下記ClassAなど)に関してもimplements Serializableを実装しなければならないのでしょうか?

public class SessionSaveBeans implements Serializable{
private ClassA a;
private ClassB b;
private ClassC c;
}
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-08 15:42
ClassA や ClassB などもSerializable を実装する必要があります。
実際レプリケーションを発生させてみればわかりますが、ちゃんと実装しないとNotSerializableException が発生するはずです。
以下のページも参考になるかと思います。
・BEA 日本語ソリューション > S-16929:"シリアライズ/デシリアライズできない" というエラーが出力される
http://www.beasys.co.jp/BeaPortal/cs/solution/getSolution.do?solutionId=16929&page=3
どらねこ
常連さん
会議室デビュー日: 2004/01/05
投稿数: 25
投稿日時: 2006-03-08 18:16
インギさん

お返事ありがとうございました。

実装しないとやはり例外が発生するんですね。
リンクのページも参考にさせていただきます。
本当にありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)