톰캣(Tomcat) 재시작시 세션 유지/제거 설정하기
세션은 브라우저 단위로 생성되는 클라언트 상태 유지 객체입니다. 세션은 사용자의 브라우저가 종료되거나 HttpSession#invalidate()가 호출되었을때 마지막으로 설정된 timeout에 의해 세션이 만료되었을때 제거됩니다.

그렇다면 톰캣 즉 서버가 종료된 경우에는 어떨까요? 톰캣의 경우 기본적으로 org.apache.catalina.session.StandardManager 라는 세션매니저를 통해서 세션이 관리됩니다. 그런데 이녀석은 톰캣이 종료될때 살아있는 세션을 임시저장소(디스크)에 SESSIONS.ser 이라는 파일로 저장해두고 재시작될때 이 파일을 읽어 세션을 다시 살려버립니다. 만약 톰캣이 종료될때 가지고 있던 세션을 모두 제거하려는 경우 설정을 해주어야 합니다.

SESSIONS.ser이 저장되는 경로는 <Host> 또는 <Context>의 workDir 속성으로 지정한 디렉터리인데 기본적으로는 $CATALINA_HOME/work 하위의 웹 어플리케이션 경로에 있습니다.





세션 저장 설정 비활성화
톰캣이 설치된 디렉터리인 $CATALINA_HOME/conf/context.xml 파일을 텍스트 편집기로 열어줍니다.



context.xml의 내용 중 주석 처리 되어 있는 <Manager pathname="">부분의 주석을 해제하고 저장하면 세션 저장기능이 비활성화됩니다. 내용이 아예없다면 직접 태그를 작성해주세요.




블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!