Web アプリケーションがあり、ローカル環境では問題なく動作しますが、それを他のアプリケーション サーバーにデプロイすると、セッション部分で問題が発生します。
あるサーブレットでは、セッション属性を次のように保存します
session.setAttribute("customer", customerObj)
他のサーブレットでは、この属性を次のように取得します
session = request.getSession();
Customer customer = (Customer) session.getAttribute("customer")
そして、顧客がnullであることを確認しました。リクエストごとにjSessionIdをチェックすると、IDは同じです。この問題の原因は何ですか? appServers 間に構成の違いがある可能性はありますか?
ありがとう
weblogic.xml の session-descriptor は次のようになります
<session-descriptor>
<session-param>
<param-name>CookiesEnabled</param-name>
<param-value>true</param-value>
</session-param>
<session-param>
<param-name>TrackingEnabled</param-name>
<param-value>true</param-value>
</session-param>
<session-param>
<param-name>CookieDomain</param-name>
<param-value>.blabla.com.</param-value>
</session-param>
<session-param>
<param-name>CookieComment</param-name>
<param-value>Blabla Session Tracking Cookie</param-value>
</session-param>
<session-param>
<param-name>CookieName</param-name>
<param-value>BSession</param-value>
</session-param>
<session-param>
<param-name>IDLength</param-name>
<param-value>10</param-value>
</session-param>
<session-param>
<param-name>CookieMaxAgeSecs</param-name>
<param-value>-1</param-value>
</session-param>
<session-param>
<param-name>PersistentStoreCookieName</param-name>
<param-value>WLCOOKIE</param-value>
</session-param>
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>memory</param-value>
</session-param>
<session-param>
<param-name>URLRewritingEnabled</param-name>
<param-value>true</param-value>
</session-param>
<session-param>
<param-name>InvalidationIntervalSecs</param-name>
<param-value>60</param-value>
</session-param>
<session-param>
<param-name>TimeoutSecs</param-name>
<param-value>540</param-value>
</session-param>
</session-descriptor>