Contents
see List작성일 2015. 06. 30.
Spring IOException: EOFException 해결
Tomcat 실행 시 "IOException while loading persisted sessions: java.io.EOFException" 오류가 발생할 때 해결 방법입니다.
오류 메시지
SEVERE: IOException while loading persisted sessions: java.io.EOFException
SEVERE: Exception loading sessions from persistent storage원인
Tomcat이 이전 세션을 직렬화하여 저장한 파일(SESSIONS.ser)이 손상되었거나, 불완전하게 저장되어 발생합니다.
해결 방법 1: 이클립스에서 Work Directory 정리
- Servers 뷰에서 해당 Tomcat 서버 우클릭
- "Clean Tomcat Work Directory..." 선택
- 서버 재시작
해결 방법 2: 수동으로 파일 삭제
# 이클립스 워크스페이스에서
[workspace]/.metadata/.plugins/org.eclipse.wst.server.core/tmp[N]/work/
# 또는 Tomcat 설치 경로에서
[TOMCAT_HOME]/work/Catalina/localhost/[프로젝트명]/해결 방법 3: SESSIONS.ser 파일만 삭제
# 세션 파일 찾기
find . -name "SESSIONS.ser" -type f
# 삭제
find . -name "SESSIONS.ser" -type f -delete영구적 해결: 세션 저장 비활성화
context.xml에 다음 설정 추가:
<!-- 세션을 파일로 저장하지 않음 -->
<Manager pathname="" />context.xml 위치
- Tomcat 전역: [TOMCAT_HOME]/conf/context.xml
- 애플리케이션별: [프로젝트]/META-INF/context.xml
- 이클립스: Servers 프로젝트 내 context.xml
관련 설정 옵션
<Context>
<!-- 세션 저장 완전 비활성화 -->
<Manager pathname="" />
<!-- 또는 커스텀 설정 -->
<Manager className="org.apache.catalina.session.StandardManager"
pathname=""
maxActiveSessions="100" />
</Context>이클립스 추가 정리 방법
- Project → Clean 실행
- 서버 더블클릭 → Publishing 탭 → "Automatically publish when resources change" 확인
- 서버 우클릭 → Clean 실행
예방 방법
- 개발 환경에서는 세션 저장 비활성화 권장
- 서버 종료 시 정상 종료(Stop) 사용
- 세션에 직렬화 불가능한 객체 저장 주의
spring
| No | 작성일 | Title |
|---|---|---|
| 2005 | 2025. 11. 30. | Spring Security 6 JWT 인증 구현 |
| 2004 | 2025. 11. 30. | Spring Boot 3.x 새로운 기능 정리 |
| 1824 | 2022. 05. 24. | [ spring ] interceptor 등 스프링에서 @Autowired 인식을 못할때 |
| 421 | 2016. 08. 02. | [ spring-security ] 스프링 시큐리티 csrf (크로스도메인) 설정방법 |
| 349 | 2016. 02. 16. | [ spring ] spring4 jsonp callback |
| 346 | 2016. 02. 08. | [ spring 4 ] 스프링 4 websocket 및 stomp (채팅 및 쪽지 구현) |
| 344 | 2016. 02. 06. | [ spring-security ] 스프링 시큐리티 4 버전에서 hasRole 및 hasAnyRole 안될경우 |
| 328 | 2015. 11. 05. | [ spring security ] 스프링 시큐리티 유저정보 얻는 방법 |
| 311 | 2015. 06. 30. | [ spring ] IOException while loading persisted sessions: java.io.EOFException 해결 |
| 310 | 2015. 06. 29. | [ spring ] How To Get HTTP Request Header In spring ( 스프링에서 http header 값 가져오기) |