http://wiki.caucho.com/Java.lang.OutOfMemoryError:_PermGen_space 를 보면 컨텍스트를 리로딩 하도록 설정했을 경우에도 이런 현상이 나타날 수 있다고 하네요. 
실 운영 서버는 컨텍스트 리로드 기능을 무조건 꺼두셔야 합니다.(Tomcat 이 아니라 다른 WAS를 쓸 때도요. 보안상, 메모리 관리상 안좋습니다.) 


출처 -  http://www.okjsp.pe.kr/seq/71826 
============================================================================================

질문
eclipse에서 tomcat 5.5 플러그인에서 소스 수정시 자동 재시작이 가능한가요

Tomcat 이 활성화 되어 있는 상태에서 자바 파일을 수정 후 저장시

자동으로 Tomcat 이 재 시작되도록 환경설정을 바꿀 수 있는지 알고 싶습니다

매번 소스 수정시 (java, xml 등등) 변경 사항을 반영하기 위해서 서버를 재시작하는데

버리는 시간이 너무 많네요

답변

답변 드립니다. ^^

먼저 그런기능은 이클립스에서 설정하기 보다는

톰켓에서 설정이 가능합니다.

즉 톰켓이 로드하고 있는 class 에 변경이 일어나면

톰켓이 이를 감시하고 있다가 컨텍스트를 리로드 하게 됩니다.

방법은 아주 간단합니다. ^^

먼저 프로젝트를 만드셨고 그것을 톰켓에 돌리신다면

컨텍스트를 등록하셨을 거라고 생각됩니다.

컨텍스트는 보통 톰켓의 server.xml에 등록을 하거나

톰켓홈\conf\Catalina\localhost

폴더에 프로젝트명.xml

형태로 등록을 하셨을겁니다.

그럼 그 내용을 보면

<Context path="/Test" docBase="C:\workspace\Test" reloadable="true"/>

와 같은 형식의 내용이 있을겁니다.

바로 여기서 붉은색으로 되어있는

reloadable="true"  이부분이 추가가 되어있으면 소스를 변경하게 되면

알아서 리로드를 해주므로 서버를 재시작할 필요가 없습니다. ^^

이것은 계속감시하기위해 리소스를 많이 사용하므로 개발시에만 사용하도록 권해드립니다 ^^

그리고 그외에 web.xml 또는 server.xml과 같은

서버 설정 파일들은 변경을 하셨으면 수동으로 톰켓을 재시작을 해주셔야 합니다.  ^^

도움이 되셨길.. 



출처 - 네이버 지식

===========================================================================================





'Development > Java' 카테고리의 다른 글

자바 커뮤니티 프로세스(Java Community Process, 약자 JCP) & JSR  (0) 2012.02.07
GC Log 란 ?  (0) 2012.02.02
컨텍스트 리로드(Context reload)  (0) 2012.02.02
java - JVM 메모리 및 옵션  (0) 2012.02.02
Heap dump란?  (0) 2012.02.02
ClassLoader 문제 분석  (0) 2012.02.02
Posted by linuxism