[Seasar-user:17362] @InvalidateSessionで例外が発生
黒瀬健二
[E-MAIL ADDRESS DELETED]
2009年 5月 1日 (金) 14:23:22 JST
お世話になっております。黒瀬と申します。
ログイン情報を格納したセッションスコープのDTO (LoginDto)
があり、ログアウトメソッド実行時にセッション破棄をしよう
と以下のようなコードを記述しています。
@Execute(validator = false)
@InvalidateSession
public String logout() {
loginService.logout(loginDto);
return "/login/?redirect=true";
}
2.4.34までは上記で特に問題なかったのですが、2.4.35にバージョン
アップしたのち、以下の例外が発生するようになりました。
(セッションの二重破棄が行われているようです。)
java.lang.IllegalStateException: invalidate: セッションは既に無効化されています
org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1098)
org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:150)
org.seasar.framework.container.hotdeploy.HotdeployHttpSession.invalidate(HotdeployHttpSession.java:157)
org.seasar.framework.container.filter.S2ContainerFilter.invalidateSession(S2ContainerFilter.java:102)
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:83)
org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
2.4.35のHttpSession回りの修正が影響?しているのかなと思いましたが
いかがでしょうか?
(こちらのミスでしたらすいません。)
Seasar-user メーリングリストの案内