reloadable 속성과 development mode

참조링크 : https://tomcat.apache.org/tomcat-7.0-doc/config/context.html

공식홈페이지의 해당 속성 설명에 의하면 “true”로 설정할 시 (기본값:false)

/WEB-INF/classes/
/WEB-INF/lib/

디렉토리에 한해서 변경시 Context Reload가 발생한다고 명시 되어있음
WEB-INF/web.xml
파일 변경시에는 reloadable=“false”와 상관없이 무조건 reload가 발생함

이것은 톰캣 기본 설정으로 지정되어있는 부분인데
conf/context.xml
내에 아래와 같이 지정되어있으므로 변경시 reload가 발생함.

context.xml
<Context sessionCookieName="${tomcat.engine.sessionCookieName}" reloadable="false">
 
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
 
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
 
    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
 
</Context>

<WatchedResource>WEB-INF/web.xml</WatchedResource>

이 부분을 주석처리하게 되면 web.xml이 변경되어도 context reload는 발생하지 않음.

또한 본 속성값을 “false”로 한다 하여도 jsp파일 변경시에는 무조건 갱신되는것을 알 수 있음.
(단, development mode에서 발생하며 다음장에 설명함)

참조링크 : http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html

  • 기본값은 development mode = true
  • true상태일 경우 jsp reload가 작동함
  • false로 변경할 경우 jsp reload 작동 안함
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>development</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
로그인하면 댓글을 남길 수 있습니다.
  • reloadable_속성과_development_mode.txt
  • 마지막으로 수정됨: 2015/09/23 11:33
  • 저자 koov