제우스 세션 정보 유지 방법(클래스 reload 대처 방법)

Posted by Breeze24
2016. 10. 19. 01:30 Unix/WAS

홈페이지를 운영한다면 거기에는 로그인 정보를 기록하는 클래스도 가지고 있게 된다.

개발 소스가 자바로 개발되어 있다고 가정하면 사용자의 로그인 정보를 가지고 있는 클래스가 존재하게 된다. 이 클래스로 부터 만들어진 객체에는 로그인 아이디, 부서명, 이름 등이 기록되어 있고, 어떤 액션을 호출할 때 마다 그 객체를 사용해서 로그인 정보를 가져올 것이다. 


그런데 만약 핫디플로이로 인해 전체 클래스가 reload된다면 어떻게 될까?

당연히 그 로그인 정보도 초기화 되게 된다. 

이를 방지하기 위하여 로그인 모델 클래스와 같은 클래스는 jar로 만들어 클래스 reload에서 제외를 시켜주어야 한다.  


제우스 세션 정보 클래스 위치

제우스를 사용하면서 로그인 정보를 기록할 경우 로그인 모델 클래스 파일을 WEB_INF 밑에 classes에 놓으면 안된다.


WEB-INF 밑에 classes 폴더와 lib 폴더는 클래스로더가 리로드할 때 같이 리로드 된다.

제우스 클래스 로더는 특정 클래스만 핫디플로이 요청 했다고 해당 클래스만 핫디플로이 되는 것이 아니라 WEB-INF 전체가 리로드 되기 때문에 세션 유지가 되지 않는 문제가 발생할 수 있다.

.

이럴 경우 해당 클래스를 JAR로 만들어 WEB-INF가 아닌 다른 공간에 넣으면 세션 유지를 할 수 있다.

또한 설정으로 세션정보를 유지를 할지 아니면 리로드될 때 세션 정보를 초기화시킬지는

<reload-persistent>true</reload-persistent>에서 확인할 수 있다.


reload-persistent


해당 자료는 jeus6/config/호스트명/servlet_engine 파일에 WEBMain.xml 에서 수정할 수 있다.

.

'Unix > WAS' 카테고리의 다른 글

cron이 실행되지 않을 때 조치 방법  (0) 2016.07.24
CentOS에서 Crontab 설치하는 방법  (0) 2016.07.23
톰캣 한글 파라미터 깨짐  (0) 2016.06.05
톰캣 자동 디플로이  (0) 2016.06.05
톰캣 서블릿 설정  (0) 2016.06.05