제공된 API를 대체 버전으로 대체

애플리케이션이 Liberty 프로파일에서도 사용 가능한 클래스를 제공하는 경우(또는 제공된 라이브러리를 사용하는 경우) 기본적으로 Liberty 프로파일의 클래스가 사용됩니다. 애플리케이션이 이 클래스의 대체 버전을 사용하도록 변경하려면, 애플리케이션은 server.xml 파일 또는 포함 파일에서 구성되어야 합니다.

이 태스크 정보

애플리케이션이 서버 런타임 환경에서도 존재하는 클래스를 포함하는 경우, 이 중에서 애플리케이션에서 사용하는 개별 클래스의 사본을 제어할 수 있습니다. 예를 들어, 애플리케이션 및 서버 런타임 환경에 서로 다른 버전의 클래스가 제시되는 경우, 애플리케이션에 패키지된 버전이 사용되도록 해야 합니다.

기본적으로 모든 Java™ EE 애플리케이션은 Liberty 프로파일 런타임 환경의 클래스를 사용합니다. 클래스 로더 구성 delegation 속성을 사용하여 이 동작을 대체할 수 있습니다. 이 구성은 특정 애플리케이션이나, 애플리케이션에서 사용하기 위해 선택할 수 있는 공유 라이브러리에 한정됩니다.

다음 예제에서, Scholar라는 애플리케이션은 Liberty 프로파일에서 사용 가능한 클래스 사본을 사용하지 않고 제공하는 클래스(또는 사용하는 라이브러리에서 제공된 클래스)를 사용해야 합니다.

  • 클래스가 애플리케이션 내에 패키지된 경우, 기본 parentFirst 위임 동작을 server.xml 구성 파일의 classloader 요소 또는 여기서 포함하는 파일로 대체하십시오.
    <application id="" name="Scholar" type="ear" location="scholar.ear">
      <classloader delegation="parentLast" />
    </application>
    클래스에 대해 연관된 라이브러리 및 애플리케이션을 찾은 후에만 Liberty 프로파일 클래스에서 찾도록 애플리케이션 클래스 로더에 알립니다.
  • 클래스가 공유 라이브러리에 패키지된 경우, 다음과 같이 공유 라이브러리의 사용을 구성하는 classloader 요소에 delegation 속성을 추가하십시오.
    <application id="" name="Scholar" type="ear" location="scholar.ear">
      <classloader delegation="parentLast" commonLibraryRef="mySharedLib"/>
    </application>  
    
    <library id="mySharedLib">
      <fileset dir="${server.config.dir}/myLib" includes="*.jar" />
    </library>

애플리케이션의 개인용 라이브러리에 대한 privateLibraryRef 속성을 사용할 수도 있습니다. 다중 Java EE 애플리케이션에서 라이브러리 공유을 확인하십시오.


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

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_classloader_alt_api
파일 이름: twlp_classloader_alt_api.html