기술지원 문의

[답변][답변][답변]servlet reload
기술지원팀 / 2007-07-17 04:23

말씀하신것 처럼 WAS (jvm) 자체가 재구동 되는것은 아닙니다.

ps -ef 로 보시면 핫디플로이가 되더라도 프로세스가 재구동 되는것은하니고

해당하는 class가 존재하는 컨텍스트 영역의 매핑정보가 재구성되면서 해당 컨텍스트내의 정보들의 연결이 없어지는 형태가 됩니다.

 

이때 소요되는 시간은 얼마나 많은 수의 class들이 존재하느냐에 따라 틀립니다만 테스트환경에서는 1~3초 내외 인것으로 알고 있습니다.

 

웹로직을 예를 들어 주셨는데 맞습니다. 제우스는 저도 잘 모르겠고 ^^;;  웹로직의 경우 클레스처리 컨텍스트가 별도로 구분되는 형식으로 존제합니다.

 

Note: The Web application classloader contains all classes for the Web application
except for the JSP class. The JSP class obtains its own classloader, which is a child
of the Web application classloader. This allows JSPs to be individually reloaded.
..
..

http://e-docs.bea.com/wls/docs81/programming/classloading.html

 

핫디플로이는 J2EE spec에 정의된 것이 아니기 때문에 서블릿컨테이너를 구현한 회사에 따라 동작방식이 다른점이 있습니다.

 

이론적으로 컨텍스트의 매핑이 재구동 되는 레진의 핫디플로이가 부정적으로 보일 수 있으나 실제 운영시스템에서는 웹로직이건 뭐건 정상적인 동작을 하는 예도 있지만 문제가 많기 때문에 권장하지 않는것이 기본 가이드 사항인 점을 감안하면 그다지 차이가 없다고 할 수 있겠습니다.

 

말씀하신 바 대로 파일형태로 세션을 저장함으로써 컨텍스트가 리로딩 되더라도 유지되는 기능을 레진역시 제공합니다./\\

<web-app ....>
... <session-config> <file-store>WEB-INF/sessions</file-store> </session-config>
...</web-app>위와 같이 session-config  설정을 추가해 주시면 되겠습니다.

관심가져주셔서 감사합니다.