Services in OSGi Declarative Services deklarieren
Sie können eine gesonderte XML-Datei verwenden, um alle Services innerhalb eines Bundles zu deklarieren.
Informationen zu diesem Vorgang
Die DS-Unterstützung (Declarative Services) wird für deklarierte Komponenten bereitgestellt, von denen jede durch eine XML-Datei im Bundle definiert wird. Wenn ein Bundle, das Komponentendeklarationen enthält, zum Framework hinzugefügt wird, liest DS jede Komponentendeklaration und registriert die bereitgestellten Services in der Service-Registry. DS steuert anschließend den Lebenszyklus der Komponente basierend auf einer Kombination der deklarierten Attribute und erfüllte Abhängigkeiten.
Die XML-Beschreibung von Komponenten ermöglicht DS, Serviceabhängigkeiten aufzulösen, ohne dass die Komponente instanziiert werden muss oder ihre Implementierungsklassen geladen werden müssen. Das vereinfacht das späte und verzögerte Laden von Ressourcen und hilft, den Serverstart zu verbessern und den Speicherbedarf der Laufzeit zu reduzieren.
Die XML-Dateien, die die Komponenten beschreiben, sind in der Datei MANIFEST.MF des Bundles im Service-Component-Header aufgelistet und befinden sich gemäß Konvention im Verzeichns /OSGI-INF des Bundles.
Es gibt eine Reihe von Tools, mit denen die erforderliche XML generiert werden kann. Die folgenden Beispiele zeigen die XML selbst.
Dieser Artikel beschreibt ein einfaches OSGi-Bundle, das XML für die Deklaration von Komponenten in DS verwendet.