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.
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
- Creare una directory mylib/Alexandria nella directory servers/Academy nella directory
${WLP_USER_DIR}
Ad esempio: wlp/usr/servers/Academy/mylib/Alexandria.
- Copiare i file alexandria-scrolls.jar e commons-lang.jar nella nuova cartella.
- 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> .
- 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.
- 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.