Liberty에 웹 애플리케이션, 엔터프라이즈 애플리케이션, OSGi 애플리케이션을 배치할 수 있습니다. 애플리케이션을 이전에 정의된 dropins 디렉토리에 놓거나
서버 구성에 애플리케이션 항목을 추가하여 애플리케이션을 배치합니다.
또한 개발자 도구를 사용하여 Liberty 서버에 애플리케이션을 배치할 수 있습니다.
이 태스크 정보
기본적으로 "dropins" 디렉토리는 자동으로 모니터됩니다. 이 디렉토리에 애플리케이션을 끌어 놓으면 자동으로 서버에 배치됩니다.
마찬가지로 애플리케이션이 디렉토리에서 삭제되면 자동으로 서버에서 제거됩니다. "dropins" 디렉토리는 보안 역할 맵핑과 같은,
추가적인 구성이 필요없는 애플리케이션에 사용할 수 있습니다. "dropins" 디렉토리에 애플리케이션을 넣을 경우
애플리케이션에 대한 항목을 서버 구성에 포함시키면 안 됩니다.
그렇지 않으면 서버가 애플리케이션을 두 번 로드하려고 시도하고 오류가
발생할 수 있습니다. "dropins" 디렉토리에 없는 애플리케이션의
경우에는 서버 구성 내의 애플리케이션 항목을 사용하여 위치를
지정합니다. 위치는 파일 시스템이나 URL이 될 수 있습니다.
애플리케이션은
아카이브 파일, 디렉토리 또는 파일이 복수의 위치에 있는
느슨한 애플리케이션으로서 패키징될 수 있습니다. 느슨한 애플리케이션에 대한 자세한 정보는
느슨한 애플리케이션의 내용을 참조하십시오.
"dropins" 디렉토리에 있는
애플리케이션의 경우 애플리케이션 모니터는 파일 이름 및 파일 확장자를 사용하여
애플리케이션 유형을 판별하고 애플리케이션 ID 및 애플리케이션 이름을 생성합니다. 예를 들어, 아카이브 파일 또는 디렉토리의 이름이
snoop.war인 경우, 애플리케이션 모니터는 해당 애플리케이션이 웹 애플리케이션이며
애플리케이션 ID와 애플리케이션 이름은 "snoop"라고 가정합니다.
구성된 애플리케이션에 대해 애플리케이션 유형 및 이름이 지정됩니다.
기본 디렉토리 구조, 그리고 디렉토리와 연관된 특성(예:
server.config.dir)에
대한 자세한 정보는 Liberty:디렉토리 위치 및 특성의 내용을 참조하십시오.
참고: "dropins"
디렉토리에서 애플리케이션을 수정하는 경우, 변경이 WEB-INF 폴더의 외부에
있는 WAR 파일의 컴포넌트에 대한 것이 아니면 애플리케이션이 다시 시작됩니다.
- 애플리케이션을 dropins 디렉토리 안에 놓아 배치하십시오.
예를 들어, 기본 디렉토리 구조를 사용하여 애플리케이션을 배치하려면 해당 애플리케이션을
${server.config.dir}/dropins 디렉토리(즉,
wlp/usr/servers/server_name/dropins)에 끌어 놓습니다.
다음 방법 중
하나로 애플리케이션을 배치할 수 있습니다.
- 식별 접미부(.ear, .war 등)를 갖는
아카이브 파일을 /dropins 디렉토리에 직접 배치하십시오.
예를 들어, ${server.config.dir}/dropins/myApp.war와 같습니다.
- 애플리케이션 이름과 식별 접미부를 포함하는 디렉토리에 아카이브 파일의
압축을 푸십시오. 예를 들어, ${server.config.dir}/dropins/myApp.war/WEB-INF/...와 같습니다.
- 식별 접미부를 포함하는 서브디렉토리에 아카이브 파일 또는 추출된
아카이브를 배치하십시오. 예를 들어, ${server.config.dir}/dropins/war/myApp/WEB-INF/...와 같습니다.
- 애플리케이션을 서버 구성 파일에 추가하여 배치하십시오.
server.xml 구성 파일 내에
application 요소를 구성하십시오. 자세한 정보는
Enterprise JavaBeans Lite 3.1,
Java Servlets 3.0 및
OSGi Blueprint에 있는
application 요소의 설명을 참조하십시오. 애플리케이션에 대해 다음 속성을 구성해야 합니다.
- id
- 고유해야 하며 서버에서 내부적으로 사용됩니다.
- 이름
- 고유해야 하며 애플리케이션에 따라 다릅니다. name의 값은 애플리케이션의
컨텍스트 루트로 사용될 수 있습니다. 애플리케이션에 대해 컨텍스트 루트를 설정하는 방법에 관한 자세한 정보는
Liberty에 웹 애플리케이션 배치의 내용을 참조하십시오.
- type
- 애플리케이션의 유형을 지정합니다.
- 웹 애플리케이션의 경우 지원되는 유형은 war입니다.
- 엔터프라이즈 애플리케이션의 경우 지원되는 유형은 ear입니다.
- OSGi 애플리케이션의 경우 지원되는 유형은 eba 및 esa입니다.
- location
- 애플리케이션의 위치를 지정합니다. 애플리케이션을 다운로드할 수 있는 URL 또는 절대 경로일 수 있습니다. 애플리케이션의 파일 이름일 수도 있습니다(있는 경우 파일 확장자를 포함).
애플리케이션을 파일 시스템에서 사용 가능한 경우 위치는 전체 경로 이름이나 단순 파일 이름이 될 수 있습니다. 위치가 전체 경로를 포함하지 않을 경우, 애플리케이션 관리자는
${server.config.dir}/apps 및 ${shared.app.dir}에서 애플리케이션을 검색합니다.
애플리케이션을 URL에서 사용 가능한 경우 애플리케이션 관리자는 애플리케이션을 서버 작업 영역 내의 임시 폴더에 다운로드한 후 이를 시작합니다.
참고: 구성된 애플리케이션에 대해
지정하는 위치는 "dropins" 디렉토리 안에 있지 않아야 합니다.
server.xml 파일에 위치를 지정해 놓고 "dropins" 디렉토리에 애플리케이션을 끌어 놓으면 이는 서버에 애플리케이션을 두 번 배치하라고 지시한 것과 같습니다.
다음 두 예제에서 위치는 파일 시스템입니다. 위치가 URL일 경우에는 위치 필드에 URL을 입력하십시오.
<osgiApplication location="D:/apps/ImpactEBA.eba"/>
<webApplication location="ImpactWeb.war"/>
두 번째 예제는 전체 경로를 포함하고 있지 않습니다. 이 경우 애플리케이션을 다음 중 한 위치에 넣어야 합니다.
- ${server.config.dir}/apps(즉, server_directory/user/servers/server_name/apps)
- ${shared.app.dir}(즉,
liberty_install_location/usr/shared/apps)
다음 방법 중 하나로 애플리케이션을 파일 시스템에
배치할 수 있습니다.
- 아카이브 파일을 식별 접미부(.ear, .war 등)와
함께 직접 선택된 위치에 배치하십시오(예: application_directory_path/myApp.war).
- 애플리케이션 이름과 식별 접미부로 이름이 지정되는 선택된
위치의 서브디렉토리에 아카이브 파일의 압축을
푸십시오(예: application_directory_path/myApp.war/WEB-INF/...).
참고: - 서버 레벨 apps 디렉토리는 작성해야 하지만, 공유
apps 디렉토리는 기본적으로 존재합니다. 서버 디렉토리와 연관된 특성에 대한
자세한 정보는 Liberty:디렉토리 위치 및 특성의 내용을 참조하십시오.
- application 요소는 서버가 시작하기 전이나
후에 설정될 수 있습니다. 서버가 시작한 후에 요소가 설정되는
경우 변경이 동적으로 선택됩니다.
- 개발자 도구를 사용하여 Liberty에 애플리케이션을 배치하십시오.
- CDI(Contexts and Dependency) 애플리케이션을 배치하십시오.
CDI 1.2 Liberty 기능을 위한 서버를 구성함으로써 Liberty를 사용하여 CDI 애플리케이션을
배치할 수 있습니다. 자세한 정보는 Contexts and Dependency Injection 1.2의 Liberty 구성의
내용을 참조하십시오.
Contexts and Dependency Injection을 사용하는 애플리케이션에는 CDI가 사용으로 설정되어 있어야 합니다. CDI 1.2 Liberty 기능의 경우
CDI는 다음 조건 중 하나를 만족하면 사용으로 설정됩니다.
- Bean 발견 모드가 all인 beans.xml 파일이 있습니다.
- beans.xml 파일이 없거나 비어 있는 beans.xml 파일이 있으며, Bean 정의 어노테이션이 있는 클래스가 있습니다.
이 경우에는 Bean 배치 아카이브가 있어야 합니다.
CDI 1.2 기능에서 인식하는 다양한 유형의 Bean 배치 아카이브에 대한 자세한 정보는 Contexts and Dependency Injection 1.2 동작 변경사항의 내용을 참조하십시오.
- 애플리케이션을 제거하십시오.
서버 구성에 포함된 애플리케이션의 경우, server.xml 파일에서
애플리케이션에 대한 참조를 제거하십시오. 애플리케이션은 서버에서 자동으로 제거됩니다.
"dropins" 디렉토리에 배치된 애플리케이션의 경우에는 디렉토리에서 애플리케이션을 제거하십시오. 애플리케이션은 서버에서 자동으로 제거됩니다.
"dropins" 디렉토리에 있는 모든 애플리케이션을 설치 제거하려면 동적 업데이트 제어에 설명된 대로
애플리케이션 모니터 dropinsEnabled 특성을 false로 설정하십시오.