[Seasar-user:7892] Re: [Seasar,Teeda]Session破棄時のセッションDto参照で例外発生
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 5月 29日 (火) 17:00:05 JST
小林 (koichik) です.
Date: Tue, 29 May 2007 15:18:55 +0900
From: <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:7885] [Seasar,Teeda]Session破棄時のセッションDto参照で例外発生
> sessionDestroyedが実行された際に、
> session.setAttributeで設定した情報は、
> 問題なく取得できますが、
> DI対象のもの
> (instance=InstanceType.SESSIONとか、
> diconにinstance=sessionと定義されているもの)は、
> Nullpointerとなります。
すみません,どういうことをやろうとしているのか
うまく読み取ることができませんでした.
> 対象のコード
> TestDto testDto = (TestDto) session.getAttribute("TestDto");
> String xxx = testDto.getXxx();
ここでセッションから取得している Dto は
S2 コンテナがインスタンスを生成してセッションに
設定したものということでしょうか?
つまり,セッションが作成されてから破棄されるまでの
どこかの時点で S2 コンテナからこの Dto を
getComponent() したということでしょうか?
もしそうなら,Dto がインスタンス化された時点の
状態のまま取得できるはずです.
セッションが作成されてから破棄されるまでの間に
getComponent() されたことがないコンポーネントは
インスタンス化されないので,破棄する時点で
Session#getAttribute() しても何も取得することは
できません.
> SessionDestroyed状態なので
> setterインジェクションは使用できず、
> session.getAttributeしていますが、
> これが原因でしょうか?
すみません,ここも意味がよく分かりませんでした.
やりたいこと,期待している動作と実際の動作の
違いなど,もう少し具体的に説明していただけると
助かります.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内