[Seasar-user:21845] Re: Seasar2とS2Flex2の相互バージョン関係について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2014年 3月 27日 (木) 05:30:49 JST
小林 (koichik) です。
ログを見る限り、全然違う状況になってますが。。。
とりあえず、最初のリクエストの処理でサービスに
設定されるLoginUserDto:
BEGIN avpdd2.web.avpdd2.impl.IndexServiceImpl#setLoginUserDto(avpdd2.dto.LoginUserDto @ 17cf28b)
と、メソッドに渡されるLoginUserDto:
BEGIN avpdd2.web.avpdd2.impl.IndexServiceImpl#login2(avpdd2.dto.LoginUserDto @ 17adb4a)
のインスタンスが別物 (17cf28bと17adb4a)
になってますね。
2番目のリクエストでは:
BEGIN avpdd2.web.avpdd2.impl.IndexServiceImpl#setLoginUserDto(avpdd2.dto.LoginUserDto @ 17cf28b)
と、最初のリクエストのsetterに渡されたのと
同じLoginUserDto (17cf28b) が渡されているので、
これがHttpSessionに格納されているのでしょう。
最初のリクエストはログイン操作のようなので、
IndexServiceImpl#login2()に渡されるのは
ログイン画面で入力されたリクエストパラメータの
内容を含んだLoginUserDto (17adb4a)とすると、
その内容をHttpSessionに格納されている
LoginUserDto (17cf28b) にコピーするとか、
17adb4aの方をHttpSessionに設定するなどの
処理が必要になるのではないでしょうか?
この辺りはSeasar2やS2Flex2のバージョン
アップとは何も関係がないと思うので、
Doltengで作成した新プロジェクトにコピー
した際に漏れがなかったか見直してみると
いいんじゃないかと思います。
なお、setterのENDのメッセージでnullが
出ているのは、通常setterには戻り値が
なく (void)、リフレクション的にはvoidの
メソッドはnullを返すように見えるためです。
On Wed, 26 Mar 2014 05:17:53 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
> masanです。
>
> ログを添付しています。
> Cool deployで起動しているようですが、状況は変わりませんでした。
> ログを見るとセッターの部分でnullが頻繁に表れているのが
> 気になります。
>
> 以上、よろしくお願いいたします。
> -----Original Message-----
> From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> Sent: Wednesday, March 26, 2014 4:44 AM
> To: seasar-user @ ml.seasar.org
> Subject: [Seasar-user:21843] Re: Seasar2とS2Flex2の相互バージョン関係について
>
> 小林 (koichik) です。
>
> env.txtがut (単体テスト用、Warm deploy) でも
> ct (結合テスト用、Hot deploy) でもなければ
> Cool deployになります。
>
>
> On Tue, 25 Mar 2014 11:15:18 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
>
> > masanです。
> >
> > 返信が遅くなり申し訳ありません。
> > Cool deployの起動方法ですが、
> > env.txtを編集する。
> > これを「product(クールデプロイ)」に変更する。
> > と言うことであっていますか?
> >
> > 以上、よろしくお願いいたします。
> >
> > -----Original Message-----
> > From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> > Sent: Tuesday, March 18, 2014 3:04 AM
> > To: seasar-user @ ml.seasar.org
> > Subject: [Seasar-user:21841] Re: Seasar2とS2Flex2の相互バージョン関係について
> >
> > 小林 (koichik) です。
> >
> > やっぱり
> >
> > > 2014-03-17 09:06:19,724 [http-8080-Processor19] WARN org.seasar.framework.container.hotdeploy.HotdeployClassLoader - HOT deploy対象クラス(avpdd2.dto.LoginUserDto)が非対象クラスから参照されて通常のクラスローダにロードされています。
> >
> > が出力されてますね。
> >
> > Hot deploy非対象のクラス (Filterやdiconに
> > 直接記述されたコンポーネント、特にInterceptor)
> > がLoginUserDtoを使っていませんか?
> > もし使っているなら使わないようにするか、
> > LoginUserDtoをHot deploy非対象にする必要が
> > あります。
> >
> > あるいはCool deployで起動するとどうなりますか?
> >
> >
> > On Mon, 17 Mar 2014 00:16:23 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
> >
> > > masanです。
> > >
> > > 回答ありがとうございます。
> > > すみません。
> > > このSerializableに部分はソースを変更しました。
> > > 以前のソースでは、Serializableをインタフェースを
> > > 実装していませんでしたが動作をしてました。
> > > が、今回はエラーが出てので実装しました。
> > >
> > > ログとLoginUserDtoのソースを添付します。
> > >
> > > 以上、よろしくお願いいたします。
> > >
> > > -----Original Message-----
> > > From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> > > Sent: Saturday, March 15, 2014 8:32 AM
> > > To: seasar-user @ ml.seasar.org
> > > Subject: [Seasar-user:21838] Re: Seasar2とS2Flex2の相互バージョン関係について
> > >
> > > 小林 (koichik) です。
> > >
> > > 「ソースを変更していない」だけでは十分な
> > > 情報を得られないので何とも言えないのですが、
> > > LoginUserDtoはSerializableインタフェースを
> > > 実装していますか?
> > >
> > > HttpSessionに格納されるオブジェクトは本来
> > > Serializableであるべきですが、そうでなくても
> > > 初期のSeasar2では動作してしまう場合がありました
> > > (HttpSessionの構成によります)。
> > >
> > > その後のHot deployでは、HttpSessionに
> > > 格納されるオブジェクトがHot deploy対象の
> > > 場合に[Seasar-user:21822]のような例外が
> > > 発生することを避けるため、リクエスト毎に
> > > シリアライズ/デシリアライズを行うように
> > > なっています。
> > > そのため、HttpSessionに格納するクラスは
> > > Serializableを実装している必要があります。
> > > # Hot deployともSeasar2とも関係なく、
> > > # セッションに格納する場合はSerializableで
> > > # あるべきです。
> > >
> > > LoginUserDtoがSerializableインタフェースを
> > > 実装しているにも関わらずセッションに保存
> > > されない場合は、ログやソースなど詳しい
> > > 情報を提示してください。
> > >
> > >
> > > On Fri, 14 Mar 2014 09:28:10 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
> > >
> > > > masanです。
> > > >
> > > > 回答ありがとうございます。
> > > > 環境を最新のDoltengにしました。
> > > > 新しいプロジェクトを作成して、既存のソースをすべてそのプロジェクト内に
> > > > 移しコンパイルエラーがないところまではしました。
> > > > が、今までログイン情報をセッションに格納していたのですが
> > > > 何故かセッションに格納できなくなってしまいました。
> > > > ソースは変更していないので、何故にセッションに格納できなくなってしまったのか
> > > > わかりません。
> > > > セッションに格納するために、diconファイルの設定が必要だったでしょうか?
> > > >
> > > > 以上、よろしくお願いいたします。
> > > > -----Original Message-----
> > > > From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> > > > Sent: Friday, March 14, 2014 4:30 AM
> > > > To: seasar-user @ ml.seasar.org
> > > > Subject: [Seasar-user:21834] Re: Seasar2とS2Flex2の相互バージョン関係について
> > > >
> > > > 小林 (koichik) です。
> > > >
> > > > Seasar2の2.4.13から2.4.47だと間が飛びすぎ、
> > > > 特に2.4.18で大きな変更があったのでJarだけ
> > > > 入れ替えて動く可能性は少ないと思います。
> > > > Seasar2のバージョン変更時の注意点はこちらを
> > > > 参照してください。
> > > >
> > > > http://www.seasar.org/wiki/index.php?SeasarUpdateOperationLog
> > > >
> > > > > 途中から最新のDoltengの開発環境に移行の方法がわかりません。
> > > >
> > > > Doltengで新規プロジェクトを作成して、構成や
> > > > 設定を比較してみてください、という意味でした。
> > > >
> > > >
> > > > On Thu, 13 Mar 2014 00:18:44 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
> > > >
> > > > > masanです。
> > > > >
> > > > > 回答ありがとうございます。
> > > > > 今回の件は、Seasar2.4.13とS2Flex2 1.0.1にて開発をしてきたのですが
> > > > > S2Dao を1.0.43から1.0.51にバージョンを上げる必要があった為の措置になります。
> > > > > (1.0.43では、MySQLのストアドプロシージャが認識できないようだったので)
> > > > > 上手く説明できないのですが、開発の途中で使用しているクラスの
> > > > > バージョンを上げる際は、クラスの入替えだけではだめでしょうか?
> > > > > S2Dao に関しては、dao.dicon の設定ファイルを書き換えています。
> > > > > 途中から最新のDoltengの開発環境に移行の方法がわかりません。
> > > > >
> > > > > 趣旨からずれてきてしまっていますが、教えていただけると助かります。
> > > > >
> > > > > 以上、よろしくお願いいたします。
> > > > >
> > > > > -----Original Message-----
> > > > > From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> > > > > Sent: Thursday, March 13, 2014 2:31 AM
> > > > > To: seasar-user @ ml.seasar.org
> > > > > Subject: [Seasar-user:21823] Re: Seasar2とS2Flex2の相互バージョン関係について
> > > > >
> > > > > 小林 (koichik) です。
> > > > >
> > > > > ログを見る限り、Hot deploy関連の設定の問題で
> > > > > S2Flex2との互換性は関係ないんじゃないかと
> > > > > 思います。
> > > > >
> > > > > この情報だけでは詳細はわかりませんが、古い
> > > > > (おそらく初回リクエスト時の) HotdeployClassLoderに
> > > > > ロードされたLoginUserDtoがその後のリクエストでも
> > > > > 続けて利用されようとしています。
> > > > > Hot deployでよくある「初回だけは動くけど〜」の
> > > > > 典型例のようなので、ここだけ見るとS2Flex2は
> > > > > 関係なさそうに見えます。
> > > > >
> > > > > 最新のDoltengを使うとSeasar2.4.46と
> > > > > S2Flex2 1.1.1-rc1の組み合わせでプロジェクトを
> > > > > 作ることが出来るので、そちらの設定を参考に
> > > > > してみてください。
> > > > >
> > > > >
> > > > > On Wed, 12 Mar 2014 08:55:20 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
> > > > >
> > > > > > masanです。
> > > > > >
> > > > > > いつもお世話になっております。
> > > > > >
> > > > > > Seasar2とS2Flex2の相互バージョン関係について教えてください。
> > > > > > これまで、Seasar2のバージョンを2.4.13 S2Flex2のバージョンを1.0.1にて
> > > > > > 使用していましたが、Seasar2のバージョンを最新の2.4.47にしたところ
> > > > > > 下記のようなエラーが発生しています。
> > > > > >
> > > > > > ERROR 2014-03-12 17:40:26,685 [http-8080-Processor24] [ESSR0059]クラス(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)のプロパティ(loginUserDto)の設定に失敗しました。理由はorg.seasar.framework.exception.SIllegalArgumentException: [ESSR0098]クラス(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]の型(avpdd2.dto.LoginUserDto)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]のプロパティ(loginUserDto)に、型(avpdd2.dto.LoginUserDto)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ 16b352c]の値(avpdd2.dto.LoginUserDto @ 9d9edd)を設定できませんでした。対象のクラスは(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]です。
> > > > > > org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)のプロパティ(loginUserDto)の設定に失敗しました。理由はorg.seasar.framework.exception.SIllegalArgumentException: [ESSR0098]クラス(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]の型(avpdd2.dto.LoginUserDto)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]のプロパティ(loginUserDto)に、型(avpdd2.dto.LoginUserDto)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ 16b352c]の値(avpdd2.dto.LoginUserDto @ 9d9edd)を設定できませんでした。対象のクラスは(avpdd2.web.avpdd2.impl.IndexServiceImpl$$EnhancedByS2AOP$$da34f5)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader @ fa88fb]です。
> > > > > >
> > > > > > そもそもSeasar2とS2Flex2のこのバージョン関係は動作が
> > > > > > 保証されていないのでしょうか?
> > > > > > Seasar2のバージョン2.4.47で動作が保証される
> > > > > > S2Flex2のバージョンは何になりますか?
> > > > > >
> > > > > > 以上、よろしくお願いいたします。
> > > > > > _______________________________________________
> > > > > > Seasar-user mailing list
> > > > > > Seasar-user @ ml.seasar.org
> > > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > >
> > > > >
> > > > > --
> > > > > {
> > > > > name: "Koichi Kobayashi",
> > > > > mail: "koichik @ improvement.jp",
> > > > > blog: "http://d.hatena.ne.jp/koichik/",
> > > > > twitter: "@koichik"
> > > > > }
> > > > >
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > Seasar-user @ ml.seasar.org
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > Seasar-user @ ml.seasar.org
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > >
> > > > --
> > > > {
> > > > name: "Koichi Kobayashi",
> > > > mail: "koichik @ improvement.jp",
> > > > blog: "http://d.hatena.ne.jp/koichik/",
> > > > twitter: "@koichik"
> > > > }
> > > >
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > Seasar-user @ ml.seasar.org
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > Seasar-user @ ml.seasar.org
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > >
> > > --
> > > {
> > > name: "Koichi Kobayashi",
> > > mail: "koichik @ improvement.jp",
> > > blog: "http://d.hatena.ne.jp/koichik/",
> > > twitter: "@koichik"
> > > }
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > Seasar-user @ ml.seasar.org
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> >
> > --
> > {
> > name: "Koichi Kobayashi",
> > mail: "koichik @ improvement.jp",
> > blog: "http://d.hatena.ne.jp/koichik/",
> > twitter: "@koichik"
> > }
> >
> > _______________________________________________
> > Seasar-user mailing list
> > Seasar-user @ ml.seasar.org
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> > _______________________________________________
> > Seasar-user mailing list
> > Seasar-user @ ml.seasar.org
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> --
> {
> name: "Koichi Kobayashi",
> mail: "koichik @ improvement.jp",
> blog: "http://d.hatena.ne.jp/koichik/",
> twitter: "@koichik"
> }
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
--
{
name: "Koichi Kobayashi",
mail: "koichik @ improvement.jp",
blog: "http://d.hatena.ne.jp/koichik/",
twitter: "@koichik"
}
Seasar-user メーリングリストの案内