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 denomina Scholar tiene que 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 de externos en 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. Donde spec representa las API de especificación públicas disponibles para la compilación y el tiempo de ejecución, ibm-api representa las API disponibles en Liberty y api representa las API publicas disponibles para la compilación y 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>
- Opcional: 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>