Accessing third-party APIs from a Java EE application

By default, Java™ EE applications do not have access to the third-party APIs available in Liberty. To enable this access, the application must be configured in the server.xml file, or an included file.

About this task

In the following example, an application that is called Scholar needs access to the third-party APIs that are available in Liberty.

The application also uses a common library called Alexandria. This library is located in the ${server.config.dir}/mylib/Alexandria directory.

Avoid trouble: Third-party APIs might not remain compatible after an upgrade. For more information, see Liberty externals support.

Procedure

  1. Configure class loading for the application so that the application can access the third-party APIs.

    The default value for the apiTypeVisibility attribute of the classloader element is spec,ibm-api,api. Where spec represents public specification APIs available for both compile and run time, ibm-api represents APIs available in Liberty, and api represents public APIs available for both compile and run time. Including third-party in the apiTypeVisibility attribute of the classloader element makes third-party APIs available.

    In the server.xml file, or an included file, configure the API type visibility by adding the following code:
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
    </application>
  2. Optional: If the application uses any common libraries, set those libraries to use the same API type visibility setting.
    In the server.xml file, or an included file, add the following code:
    <library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_classloader_3p_apis
File name: twlp_classloader_3p_apis.html