모든 Java EE 애플리케이션에 대해 글로벌 라이브러리 제공

Java™ EE 애플리케이션에서 사용할 수 있는 글로벌 라이브러리를 제공할 수 있습니다. 글로벌 라이브러리 디렉토리에 이 라이브러리에 대한 JAR 파일을 넣은 다음 각 애플리케이션에 대해 클래스 로더 구성에 글로벌 라이브러리 사용을 지정하여 이를 수행할 수 있습니다.그러나, 글로벌 라이브러리는 OSGi 애플리케이션과 같은 다른 애플리케이션에서 사용할 수 없습니다.

이 태스크 정보

환경 변수 WLP_USER_DIR을 사용하여 지정한 사용자 디렉토리 아래의 다음 위치에 글로벌 라이브러리를 배치할 수 있습니다.
  • ${shared.config.dir}/lib/global
  • ${server.config.dir}/lib/global
애플리케이션이 시작된 때 이 위치에 존재하는 파일이 있고 애플리케이션에 <classloader> 요소가 구성되어 있지 않으면 애플리케이션은 이 라이브러리를 사용합니다. 클래스 로더 구성이 존재하는 경우, 글로벌 라이브러리가 명시적으로 참조되지 않으면 이 라이브러리가 사용되지 않습니다.
주의: 글로벌 라이브러리를 사용하면 모든 애플리케이션에 대해 <classloader> 요소를 구성하는 것도 좋습니다. 서블릿 스펙에서는 애플리케이션이 클래스 로더 상위 체인에서 글로벌 라이브러리 클래스 로더를 공유해야 합니다. 그렇지 않은 경우 가능한 각 애플리케이션에 대해 클래스 로더 분리가 중단됩니다. 따라서, 애플리케이션은 Liberty에 로드된 클래스 및 서로에 대해 장기적 효과를 가지는 경향이 있고, 클래스 공간 일관성 문제는 특히, 실행 중인 서버에서 기능을 추가하거나 제거할 때 애플리케이션 사이에서 발생할 가능성이 큽니다. 이 분리를 유지보수하기 때문에 구성에 <classloader> 요소를 지정하는 애플리케이션에 이 고려사항이 적용되지 않습니다.

다음 예제에서, Scholar라는 애플리케이션은 Alexandria라는 공통 라이브러리를 사용하도록 구성되며, 글로벌 라이브러리도 사용하도록 구성됩니다.

server.xml 파일 또는 포함 파일에서 다음 코드를 추가하여 글로벌 라이브러리를 사용 가능하게 설정하십시오.
<application id="" name="Scholar" type="ear" location="scholar.ear">
  <classloader apiTypeVisibility="spec" commonLibraryRef="Alexandria, global" />
</application>
글로벌 라이브러리에 대한 설정은 특수 ID global을 사용한 라이브러리 요소로 명시적으로 구성될 수도 있습니다. 예를 들어 다음과 같습니다.
<library id="global">
  <fileset dir="/path/to/folder" includes="*.jar" />
</library>

주제의 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_classloader_global_libs
파일 이름: twlp_classloader_global_libs.html