loading persisted sessions: java.io.EOFException

4524 단어 at
[StandardManager:doLoad()] ERROR [IOException while loading persisted sessions: java.io.EOFException] 
java.io.EOFException 
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) 
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750) 
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780) 
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280) 
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58) 
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362) 
at org.apache.catalina.session.StandardManager.load(StandardManager.java:321) 
at org.apache.catalina.session.StandardManager.start(StandardManager.java:637) 
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:432) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4160) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
at org.apache.catalina.core.StandardService.start(StandardService.java:448) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:552) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 
[2009-04-09 10:43:25] [StandardManager:start()] ERROR [Exception loading sessions from persistent storage] 
java.io.EOFException 
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) 
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750) 
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780) 
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280) 
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58) 
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362) 
at org.apache.catalina.session.StandardManager.load(StandardManager.java:321) 
at org.apache.catalina.session.StandardManager.start(StandardManager.java:637) 
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:432) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4160) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
at org.apache.catalina.core.StandardService.start(StandardService.java:448) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:552) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

[원인 분석]: EOFException은 입력 과정에서 의외로 파일 끝이나 흐름 끝에 도달하는 신호로 세션에서 데이터를 가져오는 데 실패했음을 나타낸다.이상은tomcat 자체의 문제입니다.tomcat이 지난번에 비정상적으로 닫혔을 때 일부 활동session이 영구화되었기 때문에 (일부 임시 파일로 표현됨) 다시 시작할 때,tomcat은 이 세션의 영구화 데이터를 복구하려고 시도했지만 읽기에 실패했습니다.이 이상은 시스템 사용에 영향을 주지 않습니다.하드디스크에 저장된session 데이터를 읽는 데 실패했기 때문에 문제가 크지 않은 것 같지만, 처리하지 않으면 시작할 때마다 이 문제가 발생합니다.
[해결 방법]:work 아래의 파일을 비웁니다. 주로 *입니다.ser 파일, 아니면 세션만 삭제합니다.ser도 괜찮다.서버를 정상적으로 닫으면 이 파일은 자동으로 삭제됩니다. work\Catalina\localhost\yourProjectName\SESSIONS.ser 삭제.서버를 정상적으로 닫으면 이 파일은 자동으로 삭제됩니다.참고: yourProjectName 은 현재 작업 중인 웹 프로젝트 이름입니다.사람마다 Tomat의 작업 디렉터리가 다르다는 것을 감안하여 "검색"기능에서 세션을 찾을 것을 권장합니다.ser 파일, 그리고 삭제만 하면...\yourProjectName\의 세션S.ser하면 됩니다.
참조:http://lukuijun.iteye.com/blog/364202

좋은 웹페이지 즐겨찾기