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 cpn una lista separada por comas de ID de 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 separada por comas de ID de bibilioteca.
  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 separada por comas de ID de biblioteca.

Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_classloader_shared_libs.html