Подтвердить что ты не робот

Что не так с моей конфигурацией? SEVERE: IOException при загрузке сохраненных сеансов: java.io.EOFException

У меня есть веб-программа, использующая struts2, spring3 и hibernate 4, работающие в Tomcat. Он может работать, но Tomcat сообщает java.io.EOFException.

Ниже приведен журнал tomcat:

INFO: Deploying web application directory D:\apache-tomcat-7.0.29\webapps\manager
九月 10, 2012 4:27:02 下午 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:2298)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
    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:5294)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

九月 10, 2012 4:27:02 下午 org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2298)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
    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:5294)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
4b9b3361

Ответ 1

Вы можете удалить ${catalina.home}/work/Catalina/localhost/<app> /SESSION.ser, где приложение является вашим приложением.

Ответ 2

Вы можете удалить ${CATALINA_HOME}/work/Catalina/localhost/test

где test - это папка вашего приложения (название войны).

Это решило мою проблему

Ответ 3

Попробуйте удалить рабочую папку tomcat, а затем перезапустите tomcat. Это сработало для меня!

Ответ 4

У меня есть проект в eclipse и с помощью плагина tomcat для его запуска, я пробовал это, но это не помогло, поэтому я заметил, что в моей структуре каталога проекта есть еще один рабочий каталог, я удалил этот каталог, и все началось за работой. Просто хотел поделиться этим еще одним возможным ответом для таких же, как я.

Ответ 5

Я попробовал методы выше: "удалить рабочий каталог" в каталоге ${CATALINA_HOME}/work/Catalina/localhost, "uncomment manager pathname" в ${CATALINA_HOME}/conf/context.xml. Не работает.

И я обнаружил, что в проектах моего проекта eclipse у проекта сервера был файл с именем "context.xml", он должен быть скопирован при создании проекта сервера. И я "uncomment manager pathname" там, он работал наконец!

Надеюсь, это поможет кому-то!

Ответ 6

Как сказал @GauravS. Я использую eclipse, поэтому, когда я нажимаю правой кнопкой мыши на tomcat Server (в окне Servers) и очищаю его, он работал...

Иногда мне нужно удалить войну с tomcat, очистить, чем запустить ее снова.

Иногда я удаляю tomcat и нажимаю правой кнопкой мыши на окне Servers, New, Server, и я использую те же порты, которые я использовал и удалял старый сервер.

PS: открыть окно "Серверы":

Window - Show View - Other - write "Servers" and choose it from the list - OK