기술지원 문의

Session문제
최광호 / 2003-01-22 00:00

현재 resin 2.1.6을 사용하고 있고...

세션부분을

session.setAttribute(\"id\",jsp_UID.trim());
session.setAttribute(\"sys_yn\",db.getData(2,rs).trim());
session.setMaxInactiveInterval(-1); 

이렇게 생성하고 있습니다.

resin.conf의 경우는


        4096
        0
        true
        true

        
        
      


이렇게 설정되어 있고여

외국문서에 보니까...timeout을 -1로 하면 바로 세션이 소멸되고  0으로 해서 유지시켰다고 하더군여..그래서 저도 해보았더니 역시 -1로 할 경우 바로 소멸되더군여 그래서 0으로 설정했습니다.

그런데 세션을 영원히 살려야 되는 곳이 있기 때문에 이런 식으로 설정해서 사용하고 있습니다.

이미 세션변수를 각각의 프로그램에서 사용하고 있기 때문에 쿠키나 혹은 세션을 지우고 변수를 넘기는 형태의 수정은 너무 비용이 많이 들게 됩니다.

즉, 세션을 브라우져를 닫을 때까지 계속 살려놓고 싶은데..설정이 잘 못되었는지 알고 싶고 잘못되었다면 어떤부분이 수정되어야 하는지, 그리고 설정에 문제가 없다면 왜 세션이 소멸되는지 알고 싶습니다.

부탁드리겠습니다. 도와주세요

Re:Session문제
관리자 / 2003-01-23 00:00

안녕하세요

저도 문서를 찾아보니 -1 인 경우 
session을 expire안하는 것이 스펙인 것 같습니다.
Resin도 그렇게 내부적으로 구현해 놓은 것 같은데
다소간의 문제가 있는 것 같습니다.

메뉴얼에는 session-timeout이 분 단위로 설정되며
30분이 기본이다라는 정도의 내용뿐입니다.

제가 보기에는 0으로 설정하더라도 5초 후에 timeout이 되는 것이
정상인 것 같습니다. 혹시 작성하신 소스부분에서session.setMaxInactiveInterval(-1); 
라인으로 인해 session이 timeout 안되는 것 같습니다.

Resin관련한 문제는 session-timeout 부분에 -1이라든가
0보다 작은 수를 설정하면 Long.MAX_VALUE을
이용하다가 이 수가 넘어가서 음수처리가되어 
바로 session이 timeout되는 것 같습니다.

어쨌든, 원하시는 것이 timeout이 안되었으면 하시는 것이니까
session-timeout에 원하시는 시간만큼 충분히 분단위로 설정하면
좋을 것 같습니다. 예로 1년이면 60*24*365=525600분이니까

이렇게 하면 1년 동안 session이 유지되니까요.
이건 너무 긴 시간이네요. 적절히 원하시는 양수값을 넣어주면
문제없을 것 같습니다.








--최광호 님의 글 [2003-01-22 17:36:41]
>현재 resin 2.1.6을 사용하고 있고...

세션부분을

session.setAttribute(\"id\",jsp_UID.trim());
session.setAttribute(\"sys_yn\",db.getData(2,rs).trim());
session.setMaxInactiveInterval(-1); 

이렇게 생성하고 있습니다.

resin.conf의 경우는


        4096
        0
        true
        true

        
        
      


이렇게 설정되어 있고여

외국문서에 보니까...timeout을 -1로 하면 바로 세션이 소멸되고  0으로 해서 유지시켰다고 하더군여..그래서 저도 해보았더니 역시 -1로 할 경우 바로 소멸되더군여 그래서 0으로 설정했습니다.

그런데 세션을 영원히 살려야 되는 곳이 있기 때문에 이런 식으로 설정해서 사용하고 있습니다.

이미 세션변수를 각각의 프로그램에서 사용하고 있기 때문에 쿠키나 혹은 세션을 지우고 변수를 넘기는 형태의 수정은 너무 비용이 많이 들게 됩니다.

즉, 세션을 브라우져를 닫을 때까지 계속 살려놓고 싶은데..설정이 잘 못되었는지 알고 싶고 잘못되었다면 어떤부분이 수정되어야 하는지, 그리고 설정에 문제가 없다면 왜 세션이 소멸되는지 알고 싶습니다.

부탁드리겠습니다. 도와주세요