De forma predeterminada, las aplicaciones
Java™ EE no tienen acceso a las
API de terceros disponibles en
Liberty.
Para habilitar este acceso, la aplicación debe configurarse en el archivo server.xml, o en un archivo incluido.
Acerca de esta tarea
En el ejemplo siguiente, una aplicación que se llama
Scholar debe acceder a las API de terceros que
están disponibles en Liberty.
La aplicación también utiliza una biblioteca común denominada Alexandria. Esta biblioteca se ubica en el directorio ${server.config.dir}/mylib/Alexandria.
Evite problemas: Las
API de terceros no pueden seguir siendo compatibles después de una actualización. Para obtener más
información, consulte
Soporte externo de Liberty.
Procedimiento
- Configure la carga de clases para la aplicación, de modo que la aplicación pueda acceder a las API
de terceros.
El valor predeterminado para el atributo apiTypeVisibility del elemento classloader es spec, ibm-api, api, stable. Donde spec representa las API de especificación públicas disponibles para la compilación y, también, el tiempo de ejecución, ibm-api representa las API disponibles en Liberty. El valor api representa API públicas disponibles para la compilación y, también, el tiempo de ejecución, y stable representa API de especificación de terceros estables disponibles de forma predeterminada para la compilación y, también, el tiempo de ejecución.
Si se incluye third-party en el atributo
apiTypeVisibility del elemento classloader, las API de terceros
pasan a estar disponibles.
En el archivo
server.xml, o en un archivo incluido, configure la visibilidad del tipo de API añadiendo el siguiente código:
<application id="scholar" name="Scholar" type="ear"
location="scholar.ear">
<classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
</application>
- Si la aplicación utiliza cualquier biblioteca común, establezca estas bibliotecas para que utilicen la misma visibilidad de tipo de API.
En el archivo
server.xml, o en un archivo incluido, añada el siguiente código:
<library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
<fileset dir="${server.config.dir}/mylib/Alexandria"
includes="*.jar" scanInterval="5s" />
</library>