[Seasar-user:21225] Re: env.txtファイルがCT→productに変更すると、セッション情報を失う

jingyu li [E-MAIL ADDRESS DELETED]
2011年 12月 21日 (水) 14:40:59 JST


小林様

ご回答ありがとうございました。

問題解決しました。

助かりました。ありがとうございます。

以上、よろしくお願い致します。



2011年12月20日20:20 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:

> 小林 (koichik) です.
>
> インターセプタはデフォルトでシングルトンなので,COOL では
> S2 コンテナの初期化時,つまり Web コンテナ (Tomcat 等) の起動時に
> インスタンス化されます.その時点ではセッションは存在しないので,
> インターセプタにはDTO は設定されません.
> そしてそのインスタンスがずっと使われます.
>
> インターセプタがリクエスト毎に生成されるようにするには,
> customizer.dicon で以下のように useLookupAdapter に true を
> 指定してください.
>
> <component name="actionCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>  <initMethod name="addAspectCustomizer">
>    <arg>"hogeInterceptor"</arg><!-- interceptorName -->
>    <arg>"do.*"</arg>           <!-- pointcut -->
>    <arg>true</arg>             <!-- useLookupAdapter -->
>  </initMethod>
> </component>
>
> または
>
> <component name="actionCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>  <initMethod name="addCustomizer">
>    <arg>
>      <component
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>        <property name="interceptorName">"hogeInterceptor"</property>
>        <property name="pointcut">"do.*"</property>
>        <property name="useLookupAdapter">true</property>
>      </component>
>    </arg>
>  </initMethod>
> </component>
>
> http://s2container.seasar.org/2.4/ja/DIContainer.html#useLookupAdapter
>
>
>
> Date: Tue, 20 Dec 2011 19:59:47 +0900
> From: jingyu li <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:21222] Re: env.txtファイルがCT→productに変更すると、セッション情報を失う
>
> > 小林 様
> >
> > ご回答通りにやってみましたが、やっぱりセッションDTOの値を取得できません。
> >
> > 今はLoginする時、Loginのユーザ情報をセッションDTOに格納して、Actionのインターセプタを使って、Actionのインターセプタ
> > 中にセッションDTOを取得する。取得できない場合、ログイン画面に遷移するとの処理です。
> >
> >
> > Hotの場合、ぜんぜん問題ないですが。Coolに変更すると、セッションDTOが空白になってしまいました。
> >
> >
> > 何か設定など間違いでしょか?
> >
> > 以上、よろしくお願い致します。
> >
> >
> >
> >
> > 2011年12月19日20:51 jingyu li <[E-MAIL ADDRESS DELETED]>:
> >
> > > 小林 様
> > >
> > > ご回答ありがとうございました。
> > >
> > > 以下のようにテストしてみます。
> > >
> > > ありがとうございます。
> > >
> > >
> > > 2011年12月19日20:15 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> > >
> > > 小林 (koichik) です.
> > >>
> > >> セッションに保持する Dto は Serializable にしておくべきです。
> > >>
> > >> 取得できないのは、HOT の時に保存した情報が残っているせいでは
> > >> ないでしょうか?
> > >> Eclipse + Sysdeo Tomcat Plugin の場合はプロジェクト直下の
> > >> work ディレクトリに sessions.ser (だったかな) とかいう
> > >> ファイルがあるかもしれないので、それを削除してください。
> > >> あるいは、ブラウザでクッキーを削除して新しいセッション ID が
> > >> 割り振られるようにしてみてください。
> > >>
> > >>
> > >> Date: Mon, 19 Dec 2011 19:38:23 +0900
> > >> From: jingyu li <[E-MAIL ADDRESS DELETED]>
> > >> Subject: [Seasar-user:21219] Re:
> env.txtファイルがCT→productに変更すると、セッション情報を失う
> > >>
> > >> > 小林 様
> > >> >
> > >> > お世話になっております。李です。
> > >> >
> > >> > ご回答ありがとうございます。
> > >> >
> > >> > # 具体的には HOT の場合、セッションに設定されたオブジェクトを
> > >> > # バイト列にシリアライズしてセッションに保持します。
> > >> > # COOL ではそういうことはしません。
> > >> >
> > >> > ct:
> > >> > public class UserDto implements Serializable {
> > >> >
> > >> >     private static final long serialVersionUID = 1L;
> > >> >
> > >> > ↓↓↓↓
> > >> >
> > >> > product:
> > >> > public class UserDto  {
> > >> >
> > >> >
> > >> >
> > >> > 以上のように変更するんですが、まだセッション情報が取得できません。
> > >> > ご教授お願い致します。
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > 2011年12月19日17:59 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> > >> >
> > >> > > 小林 (koichik) です.
> > >> > >
> > >> > > env.txt が ct だと HOT deploy になりますが、その場合は
> > >> > > セッション情報の持ち方が env.txt が product 等の場合の
> > >> > > COOL deloy とは異なるため、セッションを引き継ぐことは
> > >> > > できません。
> > >> > > # 具体的には HOT の場合、セッションに設定されたオブジェクトを
> > >> > > # バイト列にシリアライズしてセッションに保持します。
> > >> > > # COOL ではそういうことはしません。
> > >> > >
> > >> > >
> > >> > > Date: Mon, 19 Dec 2011 16:56:58 +0900
> > >> > > From: jingyu li <[E-MAIL ADDRESS DELETED]>
> > >> > > Subject: [Seasar-user:21211]
> env.txtファイルがCT→productに変更すると、セッション情報を失う
> > >> > >
> > >> > > > お世話になっております。リと申します。
> > >> > > >
> > >> > > > 開発環境で、env.txtファイルがct→productに変更すると、セッション情報を失うことになってしまいました。
> > >> > > > それは何が問題なのでしょうか?
> > >> > > >
> > >> > > > Framework以下のようになります。
> > >> > > >
> > >> > > > SaStruts2.4
> > >> > > > Tomcat 6
> > >> > > >
> > >> > > > 以上、よろしくお願い致します。
> > >> > >
> > >> > > --
> > >> > > {
> > >> > >  name: "Koichi Kobayashi",
> > >> > >  mail: "[E-MAIL ADDRESS DELETED]",
> > >> > >  blog: "http://d.hatena.ne.jp/koichik/",
> > >> > >  twitter: "@koichik"
> > >> > >  }
> > >> > >
> > >> > > _______________________________________________
> > >> > > Seasar-user mailing list
> > >> > > [E-MAIL ADDRESS DELETED]
> > >> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >> > >
> > >>
> > >> --
> > >> {
> > >>  name: "Koichi Kobayashi",
> > >>  mail: "[E-MAIL ADDRESS DELETED]",
> > >>  blog: "http://d.hatena.ne.jp/koichik/",
> > >>  twitter: "@koichik"
> > >>  }
> > >>
> > >> _______________________________________________
> > >> Seasar-user mailing list
> > >> [E-MAIL ADDRESS DELETED]
> > >> https://ml.seasar.org/mailman/listinfo/seasar-user
> > >>
> > >
> > >
>
> --
> {
>  name: "Koichi Kobayashi",
>  mail: "[E-MAIL ADDRESS DELETED]",
>  blog: "http://d.hatena.ne.jp/koichik/",
>  twitter: "@koichik"
>  }
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20111221/e4609896/attachment.html>


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