다음 하위 주제에서는 서버를 다시 시작해야 할 여러 가지 상황에 대해 설명합니다.
개발 환경에서 서버에서 실행 중일 때 서버에서 애플리케이션을 디버깅하는 경우와 같이 애플리케이션을 변경할 수도 있습니다. 일부 경우에 서버를 다시 시작하지 않고도 수정된 코드를 동적으로 다시 로드할 수 있습니다. 서버 유형 및 수정된 자원 유형에 따라 프로그램 상태가 유실될 수도 있습니다.
애플리케이션이 서버에서 실행 중일 때 코드를 변경하면 JVM(Java™ Virtual Machine)은 코드가 자동 또는 수동으로 다시 로드될 때까지 초기 코드를 계속 실행합니다. 예를 들어, JSP 소스를 수정할 수 있고 서버에서 자동으로 변경사항이 다시 로드됩니다. 다른 자원(예: Tomcat에서 실행되는 Java 클래스)의 경우 서버에서 변경사항을 인식하도록 서버를 다시 시작해야 합니다.
서버 실행 중에 서버 또는 서버 구성을 변경하는 경우(예: 포트 번호 변경) 서버를 다시 시작해야 합니다.
JSP, HTML, GIF, JPG 또는 유사한 자원 파일에서 수행한 변경이 이에 해당됩니다. 서버 실행 중에 파일을 저장하면 서버에서 애플리케이션을 공개해야 합니다. 공개 실행은 자원 파일에 대한 변경사항이 링크된 자원인 경우 특히 중요합니다. 이는 작업공간 외부의 파일 시스템의 위치에 저장된 파일이나 폴더일 수 있습니다. 링크된 자원에 대한 변경은 변경이 작업공간 외부에서 수행된 경우 워크벤치 또는 서버에서 발견될 수 없습니다.
자동 또는 수동으로 서버에 공개하는 방법에 대한 자세한 정보는 애플리케이션 공개 주제를 참조하십시오.
서블릿을 변경하고 서버 실행 중에 파일을 저장하는 경우 해당 애플리케이션에 대한 다시 로드를 활성화했으면 서블릿이 다시 로드됩니다. 서버가 핫 메소드 바꾸기를 실행하는 경우1 브라우저를 새로 고치지 않고도 변경이 자동으로 수행됩니다. 서버에서 애플리케이션을 공개할 때 서버에서 변경사항을 인식합니다. 웹 브라우저를 새로 고치는 경우 애플리케이션 상태는 유실되지 않습니다.
서버에서 애플리케이션을 공개하기 위해 자동 공개 간격이 지나길 기다리거나 애플리케이션을 수동으로 공개할 수 있습니다(서버 보기에서 서버를 마우스 오른쪽 단추로 클릭하고 공개 선택). 자동 또는 수동으로 서버에 공개하는 방법에 대한 자세한 정보는 애플리케이션 공개 주제를 참조하십시오. 해당 프로젝트에 대한 세션 데이터가 유실되지만 애플리케이션 내 다른 프로젝트의 상태는 변경되지 않습니다. 네비게이터 보기의 메뉴에서 프로젝트를 다시 시작할 수 있습니다. Tomcat을 실행하고 있고 다시 로딩 기능을 사용하지 않는 경우 서버를 다시 시작하지 않아도 됩니다.
WebSphere Application Server의 경우 웹 프로젝트의 종속 클래스 또는 배치 디스크립터에도 규칙이 적용됩니다. WebSphere Application Server에서 실행되는 web.xml 배치 디스크립터의 보안 또는 로그인 구성 특성을 수정하는 경우 서버를 다시 시작해야 합니다. Tomcat의 경우, 이러한 변경사항에 대해 항상 서버를 다시 시작해야 합니다.
서버 실행 중에 서블릿, 종속 클래스 또는 JSP 파일을 웹 프로젝트에 추가하는 경우 다시 로드를 활성화한 경우에 변경사항이 인식됩니다. 다시 로드를 활성화하지 않으면 WebSphere Application Server를 실행하는 경우 애플리케이션을 공개하고 EAR 프로젝트를 다시 시작하거나 Tomcat을 실행하는 경우 애플리케이션을 공개하고 서버를 다시 시작해야 합니다. 서버에서 애플리케이션을 공개하기 위해 자동 공개 간격이 지나길 기다리거나 애플리케이션을 수동으로 공개할 수 있습니다(서버 보기에서 서버를 마우스 오른쪽 단추로 클릭하고 공개 선택). 자동 또는 수동으로 서버에 공개하는 방법에 대한 자세한 정보는 애플리케이션 공개 주제를 참조하십시오. 서버에서 디버그 모드로 핫 메소드 바꾸기 기능을 실행하는 경우 Java 클래스의 변경사항은 자동으로 인식됩니다.
WebSphere Application Server의 경우 서버는 EAR에서 EJB 프로젝트를 동적으로 다시 시작합니다. 서버에서 디버그 모드로 핫 메소드 바꾸기 기능을 실행하는 경우 Java 클래스의 변경사항은 자동으로 인식됩니다.
WebSphere Application Server의 경우 서버 실행 중에 엔터프라이즈 애플리케이션 프로젝트 내 자원을 변경하면 서버가 동적으로 EAR을 다시 시작합니다. Tomcat은 엔터프라이즈 애플리케이션 프로젝트 테스트 및 공개를 지원하지 않습니다.
수정된 자원 | 필수 조치 | |||
---|---|---|---|---|
WebSphere Application Server | Apache Tomcat | WebSphere Application Server Express® | ||
서버 구성 | 독립형 WebSphere Application Server와 동일한 동작. 세부사항은 WebSphere Application Server용 Information Center를 참조하십시오. | 서버 다시 시작 | 서버 다시 시작 | |
JSP | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 | |
서블릿 | 다시 로드 사용 | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 |
다시 로드 사용 불가능 | EAR 프로젝트 또는 서버 다시 시작 | 서버 다시 시작 | EAR 프로젝트 또는 서버 다시 시작 | |
종속 클래스 또는 배치 디스크립터 | 다시 로드 사용 | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 | 웹 브라우저 새로 고치기 |
다시 로드 사용 불가능 | EAR 프로젝트 또는 서버 다시 시작 | 서버 다시 시작 | EAR 프로젝트 또는 서버 다시 시작 | |
EJB 구현 | 자동으로 다시 로드됨 | 지원되지 않음 | 지원되지 않음 | |
EJB 인터페이스 또는 인터페이스의 종속 클래스 | 자동으로 다시 로드됩니다. 애플리케이션 클라이언트에 EJB에 대한 참조가 있을 경우, 애플리케이션 클라이언트를 다시 시작하십시오. | 지원되지 않음 | 지원되지 않음 | |
EJB, 종속 클래스 또는 배치 디스크립터 | 자동으로 다시 로드됨 | 지원되지 않음 | 지원되지 않음 | |
EJB 또는 추가된 종속 클래스 | 자동으로 다시 로드됨 | 지원되지 않음 | 지원되지 않음 | |
EAR 파일 | 자동으로 다시 로드됨 | 지원되지 않음 | 웹 브라우저 새로 고치기 |