Condivisione di una libreria tra più applicazioni Java EE

Le librerie possono essere condivise tra più applicazioni Java™ EE . Tutte le applicazioni possono utilizzare le stesse classi in fase di runtime oppure ciascuna applicazione può utilizzare la propria copia separata di tali classi caricate dalla stessa ubicazione.

Open Liberty La documentazione più recente relativa alla configurazione del programma di caricamento classi per Libertà è disponibile su Sito web Open Liberty.

Informazioni su questa attività

Nel seguente esempio, una libreria denominata Alexandria è composta da due file:
  • alexandria-scrolls.jar e
  • commons-lang.jar
Un'applicazione denominata Scholar e un'applicazione denominata Student sono in esecuzione su un server denominato Academyed entrambi necessitano dell'accesso a tale libreria.

Procedura

  1. Creare una directory mylib/Alexandria nella directory servers/Academy nella directory ${WLP_USER_DIR}

    Ad esempio: wlp/usr/servers/Academy/mylib/Alexandria.

  2. Copiare i file alexandria-scrolls.jar e commons-lang.jar nella nuova cartella.
  3. Configurare il caricamento delle classi per l'applicazione, in modo che venga caricata la libreria Alexandria .
    Nel file server.xml , o in un file incluso, definire la libreria aggiungendo il seguente codice:
    <library id="Alexandria">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>
    Nota: l'elemento <library> può anche utilizzare un attributo filesetRef con un elenco separato da virgole di ID elemento <fileset> .
  4. Fare riferimento alla libreria dalle applicazioni, in modo tale che entrambe le applicazioni condividano una singola copia della libreria.
    Nel file server.xml o in un file incluso, aggiungere il seguente codice:
    <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: l'elemento <commonLibraryRef> può utilizzare un elenco separato da virgole di ID libreria.
  5. Facoltativo: configurare un'altra applicazione in modo che abbia la propria serie di classi caricate dagli stessi file JAR.
    Ad esempio, se un'altra applicazione denominata Spy richiede la propria copia delle classi, è possibile utilizzare gli stessi file fisici sul disco. Nel file server.xml o in un file incluso, aggiungere il seguente codice:
    <application id="spy" name="Spy" type="war" location="spy.war">
      <classloader privateLibraryRef="Alexandria" />
    </application>
    Nota: l'elemento <privateLibraryRef> può utilizzare un elenco separato da virgole di ID libreria.