[解決済み] 永続記憶装置からの例外的なセッションのロード
質問内容
に多くの変更を加えました。 春のペットクリニックアプリケーション . 現在、eclipseのrun as...run on serverを使用して、tomcatサーバーの新しいインスタンスでアプリケーションを起動すると、次のようなエラーメッセージが表示されるようになっています。
SEVERE: Exception loading sessions from persistent storage
その後、サーバーとアプリケーションは正常に起動できるようになりましたが、エラーメッセージの原因となっているものを修正したいのです。 どなたか、このエラーメッセージを回避する方法を教えていただけませんか?
スタックトレースには、アプリケーションからのファイルが記載されていないため、アプリケーションコードのどこを見れば問題が解決するのかわかりません。 以下の場所を見ることができます。 githubにあるpetclinicのコード をクリックすると、アプリケーションの構造を見ることができますので、問題を見つけるためにどこを見ればいいのかがわかると思います。 以下はスタックトレースです。
INFO EhCacheManagerFactoryBean - Initializing EhCache CacheManager
INFO ContextLoader - Root WebApplicationContext: initialization completed in 4376 ms
Dec 16, 2013 2:51:56 PM org.apache.catalina.session.StandardManager doLoad
SEVERE: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Dec 16, 2013 2:51:56 PM org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Dec 16, 2013 2:51:56 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'petclinic'
解決するには?
これは、Tomcatが、以前のシャットダウン時に保存された、以前にシリアライズされたWebセッションをロードできないことと関係があります。これは、Tomcatがきれいにシャットダウンされなかったため、シリアライズ中にセッション・オブジェクトが破損したためと思われます。
このエラーをなくす1つの方法は、再起動時のセッションの持続を無効にすることです。これを行うには、以下のファイルを編集します。
CATALINA_HOME/conf/context.xml
を設定し
pathname
属性は
<Manager>
を空の文字列に変換します。これは、Tomcat 7のファイルによく書かれています。
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<Manager pathname="" />
また、古い
session.ser
ファイルから
CATALINA_HOME/work/Catalina/localhost/<appName>
フォルダを削除します。
再起動時のセッションの持続が必要な場合、これは受け入れがたいかもしれません。この場合、問題のさらなるデバッグが必要になります。
関連
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
-
[解決済み] 配列からArrayListを作成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】Mockitoでモックからチェックされた例外を投げる
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み】javaで無効な文字定数
-
[解決済み】予期しない型エラー
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)