[Seasar-user:13292] Re: InvalidateSessionInterceptorについて

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2008年 3月 17日 (月) 10:59:55 JST


中村(taedium)です。

> S2StrutsでInvalidateSessionInterceptorをアノテーションで指定した場合、以下のエラーになりました。
> 
> 
> org.seasar.framework.container.ComponentNotFoundRuntimeException:
> [ESSR0046]コンポーネント(invalidateSessionInterceptor)が見つかりません
> 
> Componentが見つからないみたいなので、diconに標準のaop.diconの記述を別途追加すると動作しました。
> 異なるのはnamespaceが違うぐらいですが・・・
> ちなみにRemoveSessionInterceptorは別途diocnに追加することなく、アノテーション指定で問題なく動作しました。

s2-framework-2.4.22.jarに含まれたaop.diconが使われれば
追加の設定は不要だと思います。
もしかしたらプロジェクト固有でaop.diconを持っていてそれが
優先的に読み込まれているのかもしれません。
そして、そのaop.diconにはinvalidateSessionInterceptorの定義がない
からエラーになっているのではと思います。

s2strutsのexampleやblankプロジェクトはまさにそのようなaop.diconを提供
していました。これが原因でしたらすみません。
次回のリリースからは削除しておこうと思います。

> そこで以下の点、教えていただけないでしょうか。
> ・標準のaop.diconにInvalidateSessionInterceptorのcomponent記述があるので、個別には不要と認識していますが正しいですか?

はい。正しいです。

> ・正しい設定はどのようにすれば良いのでしょうか。

特に不要です。
aop.diconをカスタマイズして使いたいわけでなければ
独自のaop.diconはクラスパスに含めないようにすれば大丈夫です。
(s2-framework-2.4.22.jar内のaop.diconが使われるようなる)

-- 
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>



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