Proporcionar bibliotecas globales para todas las aplicaciones Java EE

Puede proporcionar bibliotecas globales que las puede utilizar cualquier aplicación Java™ EE. Para ello, coloque los archivos JAR para estas bibliotecas en un directorio de biblioteca global y, a continuación, especifique el uso de las bibliotecas globales en la configuración del cargador de clases para cada aplicación. Sin embargo, otras aplicaciones no pueden utilizar las bibliotecas globales, por ejemplo, las aplicaciones OSGi.

Acerca de esta tarea

En el directorio de usuario especificado mediante la variable de entorno WLP_USER_DIR, hay varias ubicaciones en las que puede colocar las bibliotecas globales:
  • ${shared.config.dir}/lib/global
  • ${server.config.dir}/lib/global
Si hay archivos en estas ubicaciones en el momento en que se inicia una aplicación, y la aplicación no tiene configurado un elemento <classloader>, la aplicación utilizará estas bibliotecas. Si hay una configuración de cargador de clases, estas bibliotecas no se utilizarán a menos que se haga referencia a la biblioteca global de forma explícita.
Atención: Si utiliza bibliotecas globales, se le recomienda que configure también un elemento <classloader> para cada aplicación. La especificación de servlet requiere que las aplicaciones compartan el cargador de clases de la biblioteca global en su cadena padre de cargador de clases. Esto rompe la separación de los cargadores de clases para cada aplicación que podría producirse de otro modo. Por lo tanto, es mucho más probable que las aplicaciones tengan efectos duraderos sobre las clases cargadas en Liberty y entre sí, y que surjan problemas de coherencia del espacio de clases entre aplicaciones, sobretodo a medida que se vayan añadiendo y suprimiendo características en un servidor en ejecución. Ninguna de estas consideraciones se aplican a las aplicaciones que especifiquen un elemento <classloader> en su configuración, porque pueden mantener esta separación.

Ejemplo

En el siguiente ejemplo, una aplicación denominada estudioso se ha configurado para que utilice una biblioteca común denominada Alexandria y también la biblioteca global.

En el archivo server.xml, o en un archivo incluido, habilite la biblioteca global para una aplicación añadiendo el siguiente código:
<application id="" name="Scholar" type="ear" location="scholar.ear">
  <classloader apiTypeVisibility="spec" commonLibraryRef="Alexandria, global" />
</application>
Los valores para la biblioteca global también se pueden configurar explícitamente, como un elemento de biblioteca con el ID especial global. Por ejemplo:
<library id="global">
  <fileset dir="/path/to/folder" includes="*.jar" />
</library>

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_classloader_global_libs
Nombre de archivo:twlp_classloader_global_libs.html