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 |
java - JVM 메모리 및 옵션 (0) | 2012.02.02 |
Heap dump란? (0) | 2012.02.02 |
ClassLoader 문제 분석 (0) | 2012.02.02 |