Współużytkowanie biblioteki w wielu aplikacjach Java EE

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.

Open Liberty 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

  1. Utwórz katalog mylib/Alexandria w katalogu servers/Academy w katalogu ${WLP_USER_DIR} .

    Na przykład: wlp/usr/servers/Academy/mylib/Alexandria.

  2. Skopiuj pliki alexandria-scrolls.jar i commons-lang.jar do nowego folderu.
  3. 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> .
  4. 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.
  5. 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.