이 설명서는 색인된 배치 디렉토리 사용이 수반됩니다.
배치된 응용 프로그램에서 디렉토리 이름의 번호 지정 구성표 부분은 색인 메커니즘으로 구현되었습니다. 개발자는 이 메커니즘을 사용하여 배치된 응용 프로그램과 관련된 JAR 또는 클래스 파일을 수정할 수 있습니다. 로드된 파일을 덮어쓰는 동안 발생하는 공유 위반 오류 때문에 이 메커니즘은 Windows 플랫폼에 중요합니다. Windows에서는 로드된 파일을 잠급니다. 파일은 세션 시작 동안 서버 인스턴스 또는 IDE로 로드됩니다. 공유 위반 오류와 함께 다음 두 가지 옵션이 가능합니다.
이전 클래스가 로드되기 전에 로드하려면 원래 JAR 파일의 일부였던 업데이트한 클래스 파일을 컴파일하여 클래스 경로에 놓습니다. 그런 다음 재로드가 가능하면 Sun ONE Application Server가 이 응용 프로그램을 재로드하게 합니다.
JAR 파일을 업데이트하고 새 EAR 파일을 생성하고 응용프로그램을 다시 배치합니다.
Solaris 플랫폼에서 응용 프로그램의 재배치는 파일 잠금 제약 조건이 없기 때문에 필요하지 않습니다.
IDE 설정, ANT 파일 복사나 컴파일, 또는 다른 작업을 위해 Windows 플랫폼에 이미 배치된 응용 프로그램을 변경하려면 다른 변경 사항에 주의하십시오. 파일 잠금 제한에 대한 해결 방법으로 증가하는 색인 번호를 사용하여 새 디렉토리가 작성됩니다. 예를 들어 Solaris 플랫폼에서 J2EE 응용 프로그램, helloworld는 다음 디렉토리 구조로 Sun ONE Application Server로 배치됩니다.
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
그 다음 배치된 이 응용 프로그램의 일부인 서블렛에 대한 변경이 수행됩니다(예를 들어 HelloServlet.java). Sun ONE Studio IDE가 시작되고, 이 서블렛에 대한 소스 파일이 변경되며, 이전에 언급한 디렉토리에 설정된 javac 대상으로 컴파일됩니다. 소스가 올바른 위치에 컴파일되면 재로드 파일이 이 응용 프로그램에 존재합니다. server.xml의 재로드 플래그가 true로 설정되고 서버 인스턴스가 실행되면 해당 응용 프로그램을 어셈블리하거나 재배치하지 않고도 변경이 적용됩니다.
Windows 플랫폼의 경우 JAR 또는 클래스 파일은 파일 잠금 문제로 인해 변경 및 업데이트할 수 없습니다. 따라서 다음 두 가지 방식 중 하나를 사용하여 Windows에서 이 문제를 해결할 수 있습니다.
소스 변경 사항이 적용되도록 하기 위해 변경된 소스 파일을 컴파일하고 클래스 경로에서 클래스 파일이나 JAR를 미리 결정합니다.
helloworld 소스에 변경을 하고 어셈블하고 helloworld의 이전 배치를 배치 해제하지 않고 다시 배치합니다.
두 번째 옵션은 이 옵션이 결과적으로 배치된 응용 프로그램의 디렉토리 이름에 추가된 증가식 색인 번호를 사용하기 때문에 선호되는 방법입니다. helloworld의 두 번째 배치 후 디렉토리 구조는 다음과 같습니다.
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_2
hellpworld의 두 번째 배치는 helloworld_2 아래 배치됩니다.