Anwendungsmanifestdateien

Die in der Anwendungsmanifestdatei enthaltenen Metadaten ermöglichen dem OSGi-Framework die Verarbeitung der modularen Aspekte der Bundles.

Der folgende Beispielcode zeigt den Inhalt einer Anwendungsmanifestdatei:
Manifest-Version: 1.0
Application-Name: OSGi Blog Application
Application-SymbolicName: com.ibm.ws.eba.example.blog.app
Application-Version: 1.0.0
Application-Content: com.ibm.ws.eba.example.blog.api;version=1.0.0,
 com.ibm.ws.eba.example.blog.persistence;version=1.0.0,
 com.ibm.ws.eba.example.blog.web;version=1.0.0,
 com.ibm.ws.eba.example.blog;version=1.0.0,
 com.ibm.json.java;version="1.0.0"
Application-ManifestVersion: 1.0
Application-ImportService: com.ibm.ws.eba.counter.Greet
Application-ExportService: com.ibm.ws.eba.example.blog.api.BloggingService
Ein Anwendungsmanifest kann die folgenden Header enthalten:
Application-SymbolicName

Der eindeutige symbolische Name der OSGi-Anwendung mit einer Java™-ähnlichen Paketnotation.

Application-Version

Die Version der Anwendung, die OSGi-Syntax für eine Bundleversion verwendet.

Application-Name

Der Name der Anwendung..

Application-ImportService

Deklariert die externen Abhängigkeiten des Bundles, die vom OSGi-Framework für die Bundleauflösung verwendet werden. Es können bestimmte Versionen oder Versionsbereiche für jeden Service deklariert werden.

Eine Reihe von Filtern für externe Services, die von der Anwendung konsumiert werden. Das Anwendungsmanifest muss die für die Services erforderlichen Klassen enthalten. Ohne Angabe dieses Headers wird kein erforderlicher Service importiert.

Geben Sie die erforderlichen Services in einer durch Kommas getrennte Liste an, wobei zuerst der Name der Serviceschnittstelle und dann die Attribute oder Anweisungen genannt werden.
<service identifier>;<directives>;<attributes>
Beispiel:
test.it;filter="some_filter"
Der Header "Application-ImportService" hat das folgende Attribut:
filter
Ein OSGi-Servicefilter.
Application-ExportService

Deklariert die Services, die außerhalb des Bundles sichtbar sind. Alle hier nicht deklarierten Services sind nur innerhalb des Bundles sichtbar.

Eine Reihe von Filtern für externe Services, die von der Anwendung produziert werden. Ohne Angabe dieses Headers wird kein erforderlicher Service exportiert.

Geben Sie die exportierten Services in einer durch Kommas getrennte Liste an, wobei zuerst der Name der Serviceschnittstelle und dann die Attribute oder Anweisungen genannt werden.
<service identifier>;<directives>;<attributes>
Beispiel:
test.it;filter="some_filter"
Der Header "Application-ExportService" hat das folgende Attribut:
filter
Ein OSGi-Servicefilter.
Use-Bundle

Ein gemeinsam genutztes Bundle, das mindestens ein Paket für ein Anwendungsbundle bereitstellt.

Eine Liste mit Bundles oder Verbundbundles, die verwendet werden, um die Paketabhängigkeiten der Bundles in der Application-Content-Liste zu erfüllen. Jedes Bundle oder Verbundbundle in der Use-Bundle-Liste muss mindestens ein Paket für mindestens ein Bundle in der Application-Content-Liste bereitstellen. Diese Bundles werden zur Laufzeit im gemeinsam genutzten Speicherbereich für Bundles bereitgestellt.

In vielen Fällen ist kein Header "Use-Bundle" erforderlich, aber in manchen Situationen kann er hilfreich sein. Mit diesem Header können Sie den Geltungsbereich für die gemeinsame Nutzung beschränken. Beispielsweise können Sie sicherstellen, dass eine Anwendung nur das Bundle für Paketimporte verwendet, mit dem sie getestet wurde. Alternativ können Sie sicherstellen, dass zwei Anwendungen dasselbe Bundle für Paketimporte verwenden. Durch die Festlegung der Einschränkung auf Anwendungsebene bleibt das Bundle flexibel.

Application-WebModules

Liste der dynamischen Webprojekte ohne OSGi, die in die Anwendung enthalten sind.

Dieser Header ist nicht Teil des OSGi-Standards.

Application-Content
Eine Liste der Verbundbundles, Bundlefragmente und Bundles, die sich innerhalb des Bereichs der OSGi-Versionsspezifikation befinden, die in der Anwendung enthalten sind.
Tipp: Wenn Sie ein Bundlefragment in der Liste "Application-Content" einschließen, stellen Sie sicher, dass Sie das Host-Bundle für das Fragment ebenfalls enthalten ist.
Das Format ist eine durch Kommas getrennte Liste mit Moduldeklarationen, wobei jede Moduldeklaration das folgende Format verwendet:
<module identifier>;<directives>;<attributes>

In der Regel ist die Modul-ID der symbolische Name eines Bundles. Zum Referenzieren einer Ressource, die kein Bundle ist, wird die Modul-ID als relativer Pfad zum OSGi-Anwendungsstammverzeichnis angegeben.

Der Header "Application-Content" hat das folgende Attribut:
version
Die Version des Moduls, die mit der OSGi-Syntax für einen Versionsbereich angegeben wird. Geben Sie die mindestens erforderliche Version der Anwendung gefolgt von der maximal verwendbaren Version an, auf die die Anwendung aktualisiert werden kann. So bedeutet die Angabe "[1.0.0,2.0.0)" zum Beispiel: Version 1.0.0 und alle nachfolgenden Versionen bis (aber ausschließlich) Version 2.0.0.

Der Header "Application-Content" definiert die wichtigen Anwendungen, aus denen sich die Geschäftsservices zusammensetzen, aber keine vollständige Liste mit den Bundles in der Anwendung. Wenn ein im Inhalt aufgelistetes Bundle ein Paket verwendet, das nicht in der Anwendung enthalten ist, wird eine Abhängigkeitsanalyse durchgeführt und alle fehlenden Bundles werden einbezogen. Diese Bundles können keine externen Services für die Anwendung bereitstellen und es kann keine Sicherheit auf diese Bundles angewendet werden. Mithilfe dieses Verfahrens eingeschlossene Bundles werden gemeinsam genutzt.

Symbol das den Typ des Artikels anzeigt. Konzeptartikel
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: capplicationmf.html