Compartir una biblioteca entre varias aplicaciones Java EE

Las bibliotecas pueden compartirse entre varias aplicaciones Java™ EE. Todas las aplicaciones pueden utilizar las mismas clases durante la ejecución, o cada aplicación puede utilizar su propia copia independiente de dichas clases cargadas desde la misma ubicación.

Acerca de esta tarea

En el siguiente ejemplo, una biblioteca denominada Alexandria consta de dos archivos:
  • alexandria-scrolls.jar y
  • commons-lang.jar
Una aplicación llamada Scholar y una aplicación denominada Student se están ejecutando en un servidor llamado Academy, y ambas necesitan acceso a esta biblioteca.

Procedimiento

  1. Cree un directorio mylib/Alexandria en el directorio servers/Academy bajo el directorio ${WLP_USER_DIR}.

    Por ejemplo: wlp/usr/servers/Academy/mylib/Alexandria.

  2. Copie los archivos alexandria-scrolls.jar y commons-struts en la nueva carpeta.
  3. Configure la carga de clases para la aplicación, de modo que se cargue la biblioteca Alexandria.
    En el archivo server.xml, o un archivo incluido, defina la biblioteca añadiendo el siguiente código:
    <library id="Alexandria">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>
    Nota: El elemento <library> también puede tomar un atributo filesetRef con una lista separada por comas de los ID del elemento <fileset>.
  4. Haga referencia a la biblioteca desde las aplicaciones, de modo que estas dos aplicaciones compartan una única copia de la biblioteca.
    En el archivo server.xml, o un archivo incluido, añada el siguiente código:
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader commonLibraryRef="Alexandria" />
    </application>  
    
    <application id="student" name="Student" type="ear" location="student.ear">
      <classloader commonLibraryRef="Alexandria" />
    </application>
    Nota: El elemento <commonLibraryRef> puede tomar una lista de ID de bibliotecas separados por comas.
  5. Opcional: Configure otra aplicación para que tenga su propio conjunto de clases cargadas desde los mismos archivos JAR.
    Por ejemplo, si otra aplicación denominada Spy necesita su propia copia de las clases, se pueden utilizar los mismos archivos físicos del disco. En el archivo server.xml, o un archivo incluido, añada el siguiente código:
    <application id="spy" name="Spy" type="war" location="spy.war">
      <classloader privateLibraryRef="Alexandria" />
    </application>
    Nota: El elemento <privateLibraryRef> puede tomar una lista de ID de bibliotecas separados por comas.

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_shared_libs
Nombre de archivo:twlp_classloader_shared_libs.html