ÃֽŠ°Ô½Ã±Û(OS/WAS)
2017.06.12 / 13:27

Tomcat »ç¿ë ½Ã Session Timeout ¼³Á¤, ¸ð´ÏÅ͸µ Çϱâ

±Ý±Ý±Ý
Ãßõ ¼ö 209

TomcatÀÇ Servlet °³¹ß ½Ã HttpSession Ŭ·¡½º¸¦ »ç¿ë ÇÑ´Ù. Session Timeout ¼³Á¤À» À§Çؼ­´Â, setMaxInactiveInterval(int interval) ÇÔ¼ö¸¦ »ç¿ëÇؼ­ °³º°ÀûÀ¸·Î Á¤ÇØÁÙ ¼ö ÀÖÁö¸¸, °øÅëÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô ¼³Á¤À» ÇÏ´Â ÆíÀÌ ÁÁ´Ù. web.xml ¿¡ ¾Æ·¡ »ùÇÃÀ» Ãß°¡ ÇÏÀÚ.


<session-config>
    <session-timeout>30</session-timeout>
</session-config>


session-timeout Àº ºÐ ´ÜÀ§·Î ¼³Á¤ µÈ´Ù. 30 À̶ó°í ¼±¾ðÇß´Ù¸é getSession() ÇÒ¶§ ¸¶´Ù Session À¯È¿ ½Ã°£Àº 30ºÐ ÀÌ´Ù.

session ÀÌ created, destoryed µÇ´Â °ÍÀ» È®ÀÎ ÇÏ°í ½ÍÀ» ¶§°¡ ÀÖÀ» °ÍÀÌ´Ù. HttpSessionListener ¸¦ ±¸ÇöÇϸé È®ÀÎÀÌ °¡´ÉÇÏ´Ù.


  • HttpSessionCheckingListener.java
public class HttpSessionCheckingListener implements HttpSessionListener {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public void sessionCreated(HttpSessionEvent event) {
        if (logger.isDebugEnabled()) {
            logger.debug("Session ID".concat(event.getSession().getId()).concat(" created at ").concat(new Date().toString()));
        }
    }

    public void sessionDestroyed(HttpSessionEvent event) {
        if (logger.isDebugEnabled()) {
            logger.debug("Session ID".concat(event.getSession().getId()).concat(" destroyed at ").concat(new Date().toString()));
        }
    }
}


À§ ÆÄÀÏÀ» web.xml ¿¡ µî·Ï ÇÒ Â÷·Ê´Ù.


<listener>
    <listener-class>kr.co.whitelife.web.mvc.listener.HttpSessionCheckingListener</listener-class>
</listener>


Tomcat Start ÇÑ ÈÄ ·Î±×¸¦ »ìÆì º¸ÀÚ. »ý¼ºµÇ´Â ºÎºÐ, ¼Ò¸êµÇ´Â ºÎºÐ È®ÀÎÀÌ °¡´ÉÇÏ´Ù.


created
2014-10-07 14:06:05,957  DEBUG HttpSessionCheckListener - Session IDD31C36AE223F8C14BB1087F6BFCEBD35 created at Tue Oct 07 14:06:05 KST 2014
destroyed
2014-10-07 14:08:06,068  DEBUG HttpSessionCheckListener - Session IDD31C36AE223F8C14BB1087F6BFCEBD35 destroyed at Tue Oct 07 14:08:06 KST 2014

Âü°í »çÀÌÆ®



Ãâó: http://blog.whitelife.co.kr/221 [White Life Story]