728x90

개요
 JEUS 6008 에서 session.setMaxInactiveInterval 메소드를 통해 세션타임 무한대 설정을 하고도 서비스 세션이 유지되지 못하고 요청마다 새로이 생성됨

현상
 JEUS 6008 에서 서비스 세션이 요청마다 새로이 생성됨

원인
  session.setMaxInactiveInterval(-1) 를 통해 세션타임을 무한대로 유지한다는 설정을 하였으나,
JEUS 세션서버에서는 해당메소드의 값(-1)을 받으면 로컬에서 세션정보를 가지고 있다는 것으로 판단하여 해당 세션을 세션서버에서 삭제함

해결방안
web.xml의 session-timeout 설정을 통해 세션 타임관리를 하는 것이 좋음.
session.setMaxInactiveInterval 메소드를 사용한다면 session-timeout값과 맞출 것(무한대인 -1은 사용하지 말 것)
※ 해당문제는 JEUS 6008에서만 발생
JEUS 6009부터는 session.setMaxInactiveInterval(-1)이 지정되면 JEUSMain.xml의 <removal-to> 값만큼만 세션서버에서 해당 세션을 유지
  ※removal-to : file-db에 저장된 session 객체의 보존 기간을 지정하는 값

728x90

'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글

[WEBTOB]Compression 설정  (0) 2020.12.17
[JEUS] 6버전 세션클러스터 구성 시 주의사항  (0) 2020.12.04
[WEBTOB]HSTS 설정  (0) 2020.11.23
[JEUS]jsper jsp파서 사용  (0) 2020.11.11
[MW]미들웨어 구성 시 유의사항  (0) 2020.11.05
728x90
개요
 WAS의 2중화 구성 환경에서 WAS1과 WAS2가 세션을 공유하지 못하는 현상이 발생

현상
 WAS의 2중화 구성 환경에서 이미지 업로드 하는 거래의 Flow를 진행 시 세션 공유가 되지 않음.
 이미지 업로드 거래 Flow
  1. 뷰어를 띄우는 부분 (WAS1 서버로 연결)
  2. 뷰어에서 ActiveX 에디터를 띄우는 부분 (WAS1 서버로 연결)
  3. ActiveX 에서 이미지 저장을 시작하는 부분 (WAS1 서버로 연결)
   3.1 StartUp (WAS2 서버로 연결)
   3.2 Update (WAS1 서버로 연결)
   3.3 Complete (WAS2 서버로 연결)
    ※ 위 3.1~3 부분은 세션상에서 받아온 userid를 파라매터로 처리
 3의 3.1 부터 세션 정보를 잃어버림.

원인
 이미지 업로드 거래를 처리하는 WAS(JEUS6)의 session-timeout 설정이 0으로 설정되었을 경우,
 JEUS6에서 세션서버를 사용 시 세션 정보를 자체적으로 삭제를 해버림.
 따라서 세션 공유가 불가능한 상황.

해결방안
 session-timeout 을 명시적으로 0이외의 시간으로 설정
 session-timeout은 web.xml에서 설정 가능

        <session-config>
            <session-timeout>180</session-timeout>
        </session-config>

 ※JEUS6의 session-timeout 적용 우선 순위
  1. web.xml
  2. $JEUS_CONFIG/servlet/webcommon.xml

 
728x90

+ Recent posts