[Seasar-user:17179] Re: HttpServletExternalContext から取得した HttpSession が NULL となる

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 4月 3日 (金) 18:00:12 JST


小林 (koichik) です.

Date:    Fri, 3 Apr 2009 17:30:29 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17178] Re: HttpServletExternalContext から取得した HttpSession が NULL となる

> 一度発生すると再ログオンしても同一の現象は発生いたします。
> また、一度発生すると全ての端末で同一の現象は発生いたします。
> アプリケーションサーバを再起動するまでずっとです。

ということは ThreadLocal の状態がおかしい
わけでもなさそうですね.

> >HttpServletRequest#getSession() が null を
> >返しているなら ExternalContext を使わなくても
> >同じことになるのでは.
> 
> 今回の問題が発生しているのはHttpServletExternalContextから
> HttpSessionを取得する場合のみとなります。
> 当システムの一部の機能でHttpServletExternalContextから
> HttpSessionを取得しており、その部分がNULLとなってしまいます。
> 
> 多くの機能ではHttpServletRequest#getSession()よりHttpSessionを
> 取得しておりますが、その部分は正しく取得できております。

その HttpServletRequest はどのように取得
しているのでしょうか?

その HttpServletRequest と,ExternalContext が
ThreadLocal に持っている HttpServletRequest
# ExternalContext#getRequest() の戻り値
が異なっているはずなので,その違いをチェック
してみてください.



-- 
<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 メーリングリストの案内