[Seasar-user:21849] Re: Seasar2とS2Flex2の相互バージョン関係について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2014年 3月 28日 (金) 18:58:41 JST
小林 (koichik) です。
まずはログを見せてください。
2014年3月28日 16:28 <ooishi-m @ bridgestone.co.jp>:
> masanです。
>
> LoginUserDtoの
> @Componentアノテーションを削除しました。
> creator.diconにあるDtoCreatorの定義を削除しました。
> customizer.diconにDtoCustomizerの定義がありませんでした。
>
> 上記2つを行いましたが、以前二つの異なるインスタンスが登場が
> しています。
> どのような情報が必要でしょうか?
>
> 以上、よろしくお願いいたします。
>
> -----Original Message-----
> From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
> Sent: Friday, March 28, 2014 3:02 AM
> To: seasar-user @ ml.seasar.org
> Subject: [Seasar-user:21847] Re: Seasar2とS2Flex2の相互バージョン関係について
>
> 小林 (koichik) です。
>
> LoginUserDtoの管理は@Import/@ExportでS2Flex2に
> 任せているようですが、[Seasar-user:21839]の
> LoginUserDtoには@Componentが付けられていて、
> Seasar2側でも管理させているように見えます。
>
> そのせいで二つの異なるインスタンスが登場
> しているのではないでしょうか?
>
> S2Flex2を使う場合、Dtoの管理はS2Flex2に
> 任せるべきでしょうから、LoginUserDtoの
> @Componentアノテーションは削除してください。
> # S2Flex2のexampleではDtoに@Componentは
> # 付けられていません。
>
> また、creator.diconにあるDtoCreatorの定義と
> customizer.diconにあるDtoCustomizerの定義も
> 削除してみてください。
> # いずれもS2Flex2のexampleではコメントアウト
> # されていたり、定義されていなかったりします。
>
> ここまでの状況を見る限り、「本来は正しく
> 動いてはいけない」ものが、以前は一見動いて
> しまっているように見えただけかもしれませんね。
> Hot deployでの問題も同様だと思います。
>
>
>
> On Thu, 27 Mar 2014 10:24:37 +0000, <ooishi-m @ bridgestone.co.jp> wrote:
>
>> masanです。
>>
>> ご確認ありがとうございます。
>> ソースを添付していますが、IndexServiceImpl.javaは全く変更しておらず
>> 以前に使っていたファイルをそのまま使用しています。
>> 何故にインスタンスが別物になっているのか、全くわかりません。
>> 今まで動作していたのがおかしかったのでしょうか?
>>
>> お手数ですが、ソースを見ていただけると助かります。
>>
>> 以上、よろしくお願いいたします。
>> -----Original Message-----
>> From: seasar-user-bounces @ ml.seasar.org [mailto:seasar-user-bounces @ ml.seasar.org] On Behalf Of Koichi Kobayashi
>> Sent: Thursday, March 27, 2014 5:31 AM
>> To: seasar-user @ ml.seasar.org
>> Subject: [Seasar-user:21845] Re: Seasar2とS2Flex2の相互バージョン関係について
>>
>> 小林 (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 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
Seasar-user メーリングリストの案内