[Seasar-user:17293] Re: Seasar2.4.35 リリース

Tomoyuki Kano [E-MAIL ADDRESS DELETED]
2009年 4月 22日 (水) 18:41:00 JST


加納です。

> Seasar2.4.35 をリリースしました.

HttpSession のシリアライズ/デシリアライズでセッションをまたぐ場合に
とても助かるので試してみました。

今のところ以下の点で問題が生じています。改善頂ければと思います。

> ** Improvement
>     * [CONTAINER-351] - [S2Container] HOT deploy で Http セッションから
>                         取得したオブジェクトを新しいクラスローダでロード
>                         する処理を,sessionScope の Map ではなく 
>                         HttpSession で行うようにしました.

Java SE 6で正常に動作しません。 1.5 では動作します。
例えば、SAStruts で ActionMessages をセッションに格納した場合、
デシリアライズしようとするときに、"ClassNotFound: [Ljava.lang.String"
となってしまいます。つまり、配列を含んでいると正常にデシリアライズ
できないということですね。

この問題については、原因と解決策を調べて修正とテストを行ないました。
日記のネタにさせてもらいました(ごめんなさい)ので、詳しくは下記をご覧下さい。

http://d.hatena.ne.jp/cleverware/20090422/1240393101


>     * [CONTAINER-353] - [S2Container] NamingConvention に登録する
>                         ルートパッケージを HOT deploy の対象にしないことを
>                         指定できるようにしました.

この改訂で、HotdeployClassLoader#loadClass() の中で
ロードしたクラスが他のクラスローダーでロード済みだった場合 "WSSR0015"
メッセージを出すようになりましたが、

Kuina-Dao を使っている場合、 Dao がコンテナに登録されようとする都度に、
エンティティクラスについてこの警告が出てきてしまいます。
警告だけなので実害は無いのですができれば、出てほしくない警告です。


--
tomo.



Seasar-user メーリングリストの案内