セッションに保存しているオブジェクトは、LocalizationContext
シリアル化できない で、Tomcat は 5.5.28 ですが、qa サーバーは Tomcat 5.5.30 です。これはTomcatのドキュメントからのものです:
Catalina が正常にシャットダウンされて再起動されるとき、またはアプリケーションのリロードがトリガーされるときはいつでも、標準の Manager 実装は、現在アクティブなすべてのセッションをパス名属性を介して配置されたディスク ファイルにシリアル化しようとします。このように保存されたすべてのセッションは、アプリケーションのリロードが完了すると、デシリアライズされてアクティブ化されます (その間に有効期限が切れていないと仮定します)。
セッション属性の状態を正常に復元するには、そのようなすべての属性が java.io.Serializable インターフェイスを実装する必要があります。
<distributable>
この要素を Web アプリケーションのデプロイメント記述子 (/WEB-INF/web.xml) に含めることで、Manager にこの制限を適用させることが できます。
これにより、私のローカルでも問題が発生するはずであり、実装しない限り、Tomcat にセッション属性を保存することはできないと思いますSerializable
。
編集:
申し訳ありませんが、より明確にするために、私の質問は2つあります。すべてのセッション属性はシリアライズ可能である必要がありますか? もしシリアライズ可能であるなら、ローカル環境で引き続き機能するのはなぜですか?