Sun GlassFish Enterprise Server v3 릴리스 노트

응용 프로그램 관련 변경 사항

Enterprise Server v3와 Enterprise Server v2 간에는 응용 프로그램 관련 차이점이 있습니다. 이 절에서는 이러한 차이점의 일부에 대해 설명합니다.

force 옵션

Enterprise Server v3에서 배포용 force 옵션의 기본값은 false입니다. Enterprise Server v2에서는 이 기본값이 true였습니다. Enterprise Server v3에서는 재배포를 위해 이 옵션을 명시적으로 true로 설정해야 합니다. 이 옵션은 업그레이드 프로세스 중에 자동으로 설정되지 않습니다. 이러한 변경은 기존 응용 프로그램의 내용을 실수로 덮어쓰는 경우를 방지하기 위해서입니다. 해당 사항은 관리 콘솔과 명령줄 유틸리티 모두에 적용됩니다.

asadmin redeploy 명령도 Enterprise Server v3의 새로운 항목이며 --force=true에 해당하는 기능을 제공합니다. force 옵션은 deploy 명령(명령줄 인터페이스)과 deploy 화면(콘솔)에만 적용할 수 있으며 redeploy 명령과 redeploy 화면에는 적용할 수 없습니다.

응용 프로그램 및 생성 디렉토리 레이아웃

Enterprise Server v2에는 응용 프로그램 저장소용으로 applications/j2ee-appsapplications/j2ee-modules와 같은 두 개의 하위 디렉토리가 포함되었습니다. Enterprise Server v3에는 이러한 하위 디렉토리가 없습니다(j2ee-apps 또는 j2ee-modules 수준 없음). Enterprise Server v2에서는 applications/j2ee-modules/foo에 상주하던 foo.war과 같은 독립형 모듈의 배포가 Enterprise Server v3에서는 이제 applications/foo에 상주합니다. 엔터프라이즈 응용 프로그램과 독립형 모듈은 기본적으로 동일한 이름 공간을 공유하므로 중간 디렉토리 계층이 필요하지 않습니다.

domain.xml 응용 프로그램 요소

web-module, ejb-module과 같은 이전 요소는 Enterprise Server v3에서 제공되지 않으며 새로운 응용 프로그램 요소로 대체되었습니다. 응용 프로그램 요소에 대한 자세한 내용은Sun GlassFish Enterprise Server v3 Domain File Format Referenceapplication을 참조하십시오.

업그레이드 중에 Enterprise Server v2 응용 프로그램은 domain.xml의 새로운 응용 프로그램 요소와 함께 새로운 applications/ 위치에 재배포됩니다. Enterprise Server v3에 배포된 모든 새로운 응용 프로그램은 새로운 디렉토리 구조 및 요소로 배포됩니다.

JAR 가시성 규칙 강화

Java EE 6은 Java EE 5보다 더 엄격한 JAR 가시성 규칙을 적용합니다. 이로 인해 일부 기존 응용 프로그램이 실패할 수 있습니다.

Java EE 6 사양에서는 EAR(엔터프라이즈 아카이브) 파일에서 볼 수 있는 JAR 파일에 대해 엄격한 규칙을 적용합니다. 특히 섹션 EE.8.3.3을 참조하십시오. 무엇보다도 응용 프로그램 클라이언트 모듈은 응용 프로그램 클라이언트 JAR 파일의 매니페스트 Class-Path가 EJB JAR 파일을 명시적으로 참조하지 않는 경우 어떤 EJB JAR 파일에도 액세스할 수 없습니다.

해당 사항은 응용 프로그램 클라이언트가 EAR 파일의 모든 EJB JAR 파일 및 EAR 파일의 최상위 레벨의 모든 JAR 파일에 자동으로 액세스할 수 있었던 Enterprise Server v2에서 변경된 사항입니다. 보다 엄격해진 사양 언어를 준수하기 위해 Enterprise Server v3에서는 이러한 JAR 파일에 대한 액세스를 응용 프로그램 클라이언트에 자동으로 제공할 수 없습니다.

Java EE 6에서 지정하는 보다 엄격한 새로운 작동을 다음과 같이 적용할 수 있습니다.

이러한 작동 변경 사항은 Sun GlassFish Enterprise Server v3 Upgrade Guide의 1 장, Application Server Compatibility Issues에서도 설명합니다.

응용 프로그램 클라이언트 deploy --retrieve get-client-stubs 명령

Sun GlassFish Enterprise Server v3에서 deploy --retrieveget-client-stubs 명령을 실행해도 Enterprise Server v2에서와 같이 로컬 디렉토리에 더 이상 하나의 JAR 파일 만을 다운로드하지 않습니다. Enterprise Server v3에서 localdir/myAppClient.jar이 여전히 생성되고 appclient 명령에서 대상으로 사용할 수 있지만 다른 파일을 포함할 수 있는 또 다른 디렉토리인 localdir/myAppClient도 생성됩니다.

응용 프로그램 클라이언트 구성 요소를 한 위치에서 다른 위치로 이동하기 위한 방법으로 하나의 Enterprise Server v2 다운로드 JAR 파일을 일반적으로 복사하는 경우 Enterprise Server v3에서는 작동하지 않게 됩니다. 지원되는 방법은 해당 기능용 asadmin get-client-stubs 명령을 사용하는 것입니다. 명령에 대한 자세한 내용은 get-client-stubs(1)을 참조하십시오.

하지만 계속 복사하려는 경우 localdir/myAppClient.jar 파일(Enterprise Server v2에서와 같이)뿐만 아니라 localdir/myAppClient 디렉토리의 모든 내용을 복사해야 합니다.