Java EE 애플리케이션에서 써드파티 API에 액세스

기본적으로 Java™ EE 애플리케이션은 Liberty에서 사용 가능한 써드파티 API에 액세스할 수 없습니다. 이 액세스를 사용하려면, 애플리케이션은 server.xml 파일 또는 포함 파일에서 구성되어야 합니다.

Open Liberty Liberty 의 클래스 로더 구성에 대한 최신 문서는 Open Liberty 웹 사이트에서 사용 가능합니다.

이 태스크에 대한 정보

다음 예제에서는 Scholar 라는 애플리케이션에 Liberty에서 사용 가능한 써드파티 API에 대한 액세스 권한이 필요합니다.

애플리케이션은 Alexandria라는 공통 라이브러리도 사용합니다. 이 라이브러리는 ${server.config.dir}/mylib/Alexandria 디렉토리에 위치됩니다.

문제점 방지: 업그레이드 후 써드파티 API가 호환 가능하지 않을 수 있습니다. 자세한 정보는 Liberty 외부 지원을 참조하십시오.

프로시저

  1. 애플리케이션이 써드파티 API에 액세스할 수 있도록 애플리케이션에 대해 클래스 로딩을 구성하십시오.

    classloader 요소의 apiTypeVisibility 속성의 기본값은 spec, ibm-api, api, stable입니다. 여기서 spec 는 컴파일 및 런타임 모두에 사용 가능한 공용 스펙 API를 나타내고 ibm-apiLiberty에서 사용 가능한 API를 나타냅니다. 값 api는 컴파일 및 런타임 모두에 사용 가능한 공용 API를 나타내고, stable은 컴파일 및 런타임 모두에 기본적으로 사용 가능한 안정적인 써드파티 스펙 API를 나타냅니다. classloader 요소의 apiTypeVisibility 속성에서 third-party를 포함하면 써드파티 API를 사용할 수 있게 됩니다.

    server.xml 파일 또는 포함 파일에서, 다음 코드를 추가하여 API 유형 가시성을 구성하십시오.
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="spec, ibm-api, stable, third-party" commonLibraryRef="Alexandria" />
    </application>

    + 또는 - 접두어가 API 유형에 추가되면, 이러한 API 유형은 API 유형 기본 세트에서 각각 추가되거나 제거됩니다. +third-party 접두부의 결과는 spec, ibm-api, api, stable, third-party입니다. -api 접두부가 있으면 spec, ibm-api, stable이 됩니다.

    server.xml 파일 또는 포함 파일에서, 다음 코드를 추가하여 API 유형 가시성을 구성하십시오.
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="+third-party, -api" commonLibraryRef="Alexandria" /> 
    </application>
  2. 애플리케이션이 공통 라이브러리를 사용하는 경우, 동일 API 유형 가시성 설정을 사용하도록 이 라이브러리를 설정하십시오.
    server.xml 파일 또는 포함 파일에서 다음 코드를 추가하십시오.
    <library id="Alexandria" apiTypeVisibility="spec, ibm-api, stable, third-party">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>