Liberty-Feature manuell entwickeln

Sie können ein Liberty-Feature manuell erstellen und es in Liberty installieren.

Informationen zu diesem Vorgang

Ein Feature kann aus einem einzigen OSGi-Bundle und einer Featuremanifestdatei bestehen. In diesem Beispiel wird eine Bibliothek für Anwendungen verfügbar gemacht, sodass die externen Pakete in dem Klassenpfad der Standardanwendung sichtbar werden. Das Feature wird in Liberty installiert, indem das Featuremanifest in das Verzeichnis ${wlp.user.dir}/extension/lib/features und das OSGi-Bundle in das Verzeichnis ${wlp.user.dir}/extension/lib kopiert werden. Anschließend können Sie das Feature in der Datei server.xml verwenden.

Weitere Informationen zum Format einer Featuremanifestdatei finden Sie unter Manifestdateien für Liberty-Features.

Im folgenden Beispiel wird beschrieben, wie Sie ein Liberty-Feature manuell erstellen. Alternativ können Sie WebSphere Application Server-Entwicklertools verwenden. Informationen hierzu finden Sie unter Liberty-Feature mit Entwicklertools erstellen.

Vorgehensweise

Führen Sie die folgenden Schritte aus, um ein Liberty-Feature manuell zu erstellen:

  1. Erstellen Sie ein OSGi-Bundle mit Ihren Java™-Klassen und ein Bundlemanifest mit den entsprechenden OSGi-Headern, um beispielsweise die Java-Pakete zu exportieren, die für Anwendungen verfügbar gemacht werden sollen. Der einzige erforderliche Header ist der Header Bundle-SymbolicName. Dieser Eintrag gibt eine eindeutige ID entsprechend der Domänennamenskonvention für das Bundle an. Es wird empfohlen eine Bundleversion anzugeben. In dem folgenden Beispiel werden mehrere Java-Pakete für die Verwendung in anderen Anwendungen exportiert:
    Bundle-SymbolicName: com.usr.samplebundle
    Bundle-Version: 1.0.1
    Export-Package: com.usr.samplebundle.pkg1; version="1.0.0", com.usr.samplebundle.pkg2; version="1.0.1"
  2. Verwenden Sie den Befehl jar, um die Java-Klassen und die Featuremanifestdatei zu packen. Beispiel:
    jar cfm samplebundle.jar MANIFEST.Mf *.class
  3. Erstellen Sie eine Featuremanifestdatei mit dem Namen Featurename.mf, in dem das Feature für die Laufzeitumgebung beschrieben wird.
    1. Geben Sie die erforderlichen Manifestheader an:
      • Subsystem-SymbolicName, um die Identität und die Sichtbarkeit des Features festzulegen
      • Subsystem-Content, um die Dateien zu lokalisieren, aus denen sich das Feature zusammensetzt
      • IBM-Feature-Version, um die Version des Feature-Supports zu ermitteln, die für die Laufzeitumgebung erforderlich ist.
    2. Bewährtes Verfahren: Fügen Sie die optionalen Manifestheader hinzu, um die gültige Version der Subsystemspezifikation (Subsystem-ManifestVersion), die Version Ihres Features (Subsystem-Version) und einen Kurznamen Ihres Features (IBM-ShortName) anzugeben. Wenn Sie diese Werte angeben, wird Ihnen das bei die zukünftige Entwicklung des Features vereinfachen.
    3. Listen Sie im Header IBM-API-Package die Pakete auf, die für das Standardklassenladeprogramm für Anwendungen verfügbar gemacht werden sollen.
    4. Optional: Wenn Sie ein eigenes Liberty-Feature erstellen, installieren Sie es in der benutzerspezifischen Produkterweiterung, damit alle Pakete in Ihrem Feature für alle anderen Features in der benutzerspezifischen Produkterweiterung verfügbar sind. Wenn Sie ein oder mehrere SPI-Pakete für Features in anderen Produkterweiterungen verfügbar machen möchten, listen Sie die Pakete im Header IBM-SPI-Package auf.
    Subsystem-ManifestVersion: 1.0
    Subsystem-SymbolicName: com.example.myfeature.sample-1.0; visibility:=public
    Subsystem-Version: 1.0.0.qualifier
    Subsystem-Type: osgi.subsystem.feature
    Subsystem-Content: samplebundle; version="[1,1.0.100)"
    IBM-Feature-Version: 2
    IBM-API-Package: com.usr.samplebundle.pkg1; type="api",
                     com.usr.samplebundle.pkg2; type="api"
    IBM-SPI-Package: com.sample.myservice.spi;
    IBM-ShortName: sample-1.0
  4. Kopieren Sie das Bundle in das Verzeichnis ${wlp.user.dir}/extension/lib.
  5. Kopieren Sie das Featuremanifest in das Verzeichnis ${wlp.user.dir}/extension/lib/features.
  6. Wenn Sie Header vom Typ Subsystem-Name und Subsystem-Description in der Featuremanifestdatei definiert und die Werte lokalisiert haben, kopieren Sie die Lokalisierungsdateien, die im Header Subsytem-Localization angegeben sind, in das Verzeichnis ${wlp.user.dir}/extension/lib/features/l10n.

Ergebnisse

Wenn Ihre Feature in Liberty installiert ist, können Sie den Featurenamen zur Liste der konfigurierten Features in der Datei server.xml hinzufügen. Beispiel:
<featureManager>
     <feature>usr:sample-1.0</feature>
</featureManager>

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_feat_example.html