[Seasar-user:16012] Re: [Teeda]SingletonS2Container#getComponentでClassCastException

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 10月 16日 (木) 19:00:32 JST


小林 (koichik) です.

Date:    Thu, 16 Oct 2008 18:12:04 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16009] Re: [Teeda]SingletonS2Container#getComponentでClassCastException

> > > 設定が必要なら設定を保持する Dto または Map 等を
> > > dicon に定義してインターセプタに DI されるように
> > > します.
> の「設定が必要なら」という意味がわからなかったため

インターセプタを dicon に定義していた理由が

<component name="xxxInterceptor" class="...">
  <property name="xxx">"xxxxx"</property>
  ...
</component>

のように何かプロパティを設定するためだったのなら,
インターセプタの代わりに

<component name="xxxDto" class="...">
  <property name="xxx">"xxxxx"</property>
  ...
</component>

と Dto を定義して,インターセプタはこれを DI
してもらって設定値を参照してください,という
意味でした.
インターセプタを dicon に記述していた理由が
プロパティを設定するためでなかったのなら
関係ないです.

> ログイン時に、サービスにDIしたLoginDtoに内容を
> セットしているのですが、その後PageにDIすると
> LoginDtoの内容がいつの間にか
> 全てnullになってしまうことがあります。

「いつの間にか」というのは,同じリクエストの
中での話でしょうか?
それともリクエストをまたいでの話でしょうか?

また,Dto は Serializable になっていますか?


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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