Biblioteki mogą być współużytkowane przez wiele aplikacji Java™ EE . Wszystkie aplikacje mogą korzystać z tych samych klas w czasie wykonywania, a każda aplikacja może używać własnej osobnej kopii tych klas załadowanych z tego samego miejsca.
Najnowsza dokumentacja dotycząca konfiguracji programu ładującego klasy dla serwera Liberty jest dostępna w serwisie WWW Open Liberty.
Informacje o tej czynności
W poniższym przykładzie biblioteka o nazwie
Alexandria składa się z dwóch plików:
- alexandria-scrolls.jar oraz
- commons-lang.jar
Aplikacja o nazwie
Scholar i aplikacja o nazwie
Student działają na serwerze o nazwie
Academy, a oba te aplikacje wymagają dostępu do tej biblioteki.
Procedura
- Utwórz katalog mylib/Alexandria w katalogu servers/Academy w katalogu
${WLP_USER_DIR} .
Na przykład: wlp/usr/servers/Academy/mylib/Alexandria.
- Skopiuj pliki alexandria-scrolls.jar i commons-lang.jar do nowego folderu.
- Skonfiguruj ładowanie klas dla aplikacji, tak aby biblioteka
Alexandria została załadowana.
W pliku
server.xml lub w dołączonym pliku zdefiniuj bibliotekę, dodając następujący kod:
<library id="Alexandria">
<fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
</library>
Uwaga: Element <library> może również przyjmować atrybut filesetRef z listą rozdzielonych przecinkami identyfikatorów elementów <fileset> .
- Odwołanie do biblioteki z aplikacji, tak aby obie te aplikacje współużytkował pojedynczą kopię biblioteki.
W pliku
server.xml lub w dołączonym pliku należy dodać następujący kod:
<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>
Uwaga: Element <commonLibraryRef> może przyjmować rozdzielaną przecinkami listę identyfikatorów bibliotek.
- Opcjonalnie: Skonfiguruj inną aplikację tak, aby miała własny zestaw klas załadowanych z tych samych plików JAR.
Na przykład, jeśli inna aplikacja o nazwie
Spy wymaga własnej kopii klas, można użyć tych samych zbiorów fizycznych na dysku. W pliku
server.xml lub w dołączonym pliku należy dodać następujący kod:
<application id="spy" name="Spy" type="war" location="spy.war">
<classloader privateLibraryRef="Alexandria" />
</application>
Uwaga: Element <privateLibraryRef> może przyjmować rozdzielaną przecinkami listę identyfikatorów bibliotek.