예외영구 저장소에서 세션 로드
저는 봄 반려동물 클리닉 신청에 많은 변화를 주었습니다.현재 eclipse run을 사용하여 Tomcat 서버의 새 인스턴스에서 응용 프로그램을 시작할 때 다음 오류 메시지가 표시됩니다.서버에서 실행:
SEVERE: Exception loading sessions from persistent storage
그러면 서버와 응용프로그램이 성공적으로 실행될 수 있지만 오류 메시지의 원인이 되는 것은 무엇이든 수정하고 싶습니다.누가 이 오류 메시지를 어떻게 통과하는지 보여줄 수 있나요?
스택 추적에 응용 프로그램의 파일이 나열되지 않아서 응용 프로그램 코드에서 문제를 해결하기 위해 어디를 찾아야 할지 모르겠습니다.github에서 애완동물 클리닉 코드를 보고 애플리케이션의 구조를 확인할 수 있습니다. 문제를 찾기 위해 어디를 찾아야 하는지 확인하는 데 도움이 된다면요.스택 추적은 다음과 같습니다.
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이 이전 종료 시 저장되었던 이전에 직렬화된 웹 세션을 로드할 수 없는 것과 관련이 있습니다.Tomcat이 정상적으로 종료되지 않아 serialization 중에 세션 개체가 손상되었기 때문일 수 있습니다.
이 오류를 제거하는 한 가지 방법은 재시작 시 세션 지속성을 사용하지 않도록 설정하는 것입니다.파일을 편집하여 이 작업을 수행할 수 있습니다.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>폴더에 저장할 수 있습니다.
재시작 후에도 세션 지속성이 필요한 경우에는 허용되지 않을 수 있습니다.이 경우 문제에 대한 추가 디버깅이 필요합니다.
Tomcat "work" 폴더를 삭제합니다.Tomcat 서버를 다시 시작합니다. 이제 예외나 오류 없이 실행되기를 바랍니다!
이 작업은 Tomcat 내에서 서버를 선택하고 "Clean Tomcat Work Directory"를 선택하여 수행할 수 있습니다.
Spring Boot로 작업하는 경우 application.properties에 추가하기만 하면 됩니다.
server.servlet.session.persistent=false
Tomcat Work Directory를 정리하기만 하면 됩니다.내게 잘 먹혀든 것입니다.
영구 클래스가 제대로 직렬화되지 않았기 때문에 Apache 중지만 제대로 수행할 수 있습니다.프로젝트를 제거하고 프로젝트 및 서버도 정리합니다.
'재배치만 하면 됩니다'
- 수강생은 serialVersion이 있는 Serialable 인터페이스를 구현해야 합니다.UID - 정리 빌드를 수행하고 서버를 다시 시작합니다.
저도 이클립스의 프로젝트에서 비슷한 오류가 있었습니다.저는 다음 단계를 통해 문제를 해결했습니다.
- 프로젝트를 정리합니다.
- 이클립스의 서버 보기에서 Tomcat 서버 삭제
- 마법사를 사용하여 이클립스의 서버 보기에서 새 Tomcat 서버 정의
- 새로 정의된 Tomcat 서버에 프로젝트 추가
그 후, 이 새로운 Tomcat 서버를 실행하는 것은 모두 완벽하게 작동했습니다.
봄에 부츠를 신으면 당신은@ResponseBody당신의 에대주에 을 달기@GetMapping파일
언급URL : https://stackoverflow.com/questions/20622746/exception-loading-sessions-from-persistent-storage
'codememo' 카테고리의 다른 글
| Javascript를 사용하여 비활성화된 특성을 입력 요소에 추가합니다. (0) | 2023.07.27 |
|---|---|
| Asp에서 AJAX를 사용하여 양식을 제출합니다.넷 mvc 4 (0) | 2023.07.27 |
| 오라클: 블롭이 있는 테이블을 다시 가져올 수 있는 .sql 파일로 내보냅니다. (0) | 2023.07.27 |
| 제너레이터 이해는 정확히 어떻게 작동합니까? (0) | 2023.07.27 |
| 봄에 조건부 자동 배선을 어떻게 하나요? (0) | 2023.07.27 |
