Bibliotheken für OSGi-Anwendungen konfigurieren

Jede OSGi-Anwendung kann auf einen Satz bereitgestellter APIs und ihre eigenen internen Klassen zugreifen. Gemeinsam genutzte Bibliotheken können so konfiguriert werden, dass sie den Zugriff auf zusätzliche Pakete über gemeinsam genutzte Bibliotheken ermöglichen.

Informationen zu diesem Vorgang

Jede OSGi-Anwendung hat einen eigenen Satz von OSGi-Bundles in einem aktiven Liberty-Server. Jedes OSGi-Bundle gibt die Pakete an, die es benötigt und die es für andere OSGi-Bundles bereitstellt. Bundles in einer OSGi-Anwendung können auf Pakete zugreifen, die von anderen Bundles in derselben OSGi-Anwendung bereitgestellt werden. OSGi-Bundles in einer OSGi-Anwendung können außerdem auf vom Liberty-Server bereitgestellte API-Pakete zugreifen. Gemeinsam genutzte Bibliotheken können zudem verwendet werden, um API-Pakete für OSGi-Anwendungen bereitzustellen.

Bibliotheken können von mehreren OSGi-Anwendungen gemeinsam genutzt werden. Alle Anwendungen, einschließlich Java EE-Anwendungen, können dieselben Klassen zur Laufzeit verwenden, die von gemeinsam genutzten Bibliotheken bereitgestellt werden.

Vorgehensweise

  1. Erstellen Sie im Verzeichnis servers/defaultServer unter ${WLP_USER_DIR} ein Verzeichnis mit dem Namen mylib/osgi. Beispiel: wlp/usr/servers/defaultServer/mylib/osgi.
  2. Kopieren Sie die Dateien osgi-lib.jar und commons-lang.jar in den neuen Ordner.
  3. Konfigurieren Sie die gemeinsam genutzte Bibliothek für die Anwendung, damit die Bibliothek geladen wird. Definieren Sie in der Datei server.xml oder einer enthaltenen Datei die Bibliothek, indem Sie den folgenden Code hinzufügen:
    <library id="mylib">
        <fileset dir="${server.config.dir}/mylib/osgi" includes="*.jar" scanInterval="5s">
    </library>
    Anmerkung: Das Element library akzeptiert auch ein Attribut filesetRef mit einer durch Kommas getrennten Liste von fileset-Element-IDs.
  4. Referenzieren Sie die Bibliothek als OSGi-Bibliothek, damit OSGi-Anwendungen auf die von der Bibliothek bereitgestellten Pakete zugreifen und eine einzige Kopie der Bibliothek gemeinsam nutzen können. Fügen Sie in der Datei server.xml oder in einer enthaltenen Datei den folgenden Code hinzu:
    <osgiLibrary libraryRef="myLib"/>
  5. Optional: Konfigurieren Sie die Liste der Pakete so, dass OSGi-Anwendungen auf diese zugreifen können. OSGi-Anwendungen können auf in der gemeinsam genutzten Bibliothek enthaltene Pakete zugreifen, wenn die Bibliothek mit dem Element osgiLibrary konfiguriert wird. Zudem können Pakete aufgelistet werden, damit Sie besser steuern können, auf welche Pakete OSGi-Anwendungen zugreifen können. Als Paketsyntax wird die Syntax des OSGi-Headers "Export-Package" für die Definition der einzelnen Pakete verwendet. Fügen Sie den folgenden Code hinzu, um die Pakete in der Datei server.xml oder einer enthaltenen Datei aufzulisten:
    <osgiLibrary libraryRef="myLib">  
        <package>org.example.osgi.lib.pkg1; version=1.0</package>  
        <package>org.example.osgi.lib.pkg2; version=1.1</package>
    </osgiLibrary>
    Anmerkung: Wenn keine Paketelemente verwendet werden, wird die Bibliothek durchsucht, um die von der Bibliothek bereitgestellten Pakete zu finden. Jedes erkannte Paket erhält die Standardversion 0.0.0.

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_admin_osgiappl
Dateiname: twlp_admin_osgiappl.html