Die Blueprint-Konfigurationsdatei enthält die Komponentenassemblierung und die Konfigurationsdaten für das Bundle. Die Datei beschreibt, wie die Komponenten in der OSGi-Serviceregistry registriert werden oder wie sie Services aus der OSGi-Serviceregistry abrufen. Diese Informationen werden zur Laufzeit verwendet, um die erforderlichen Komponenten beim Starten des Bundles zu instanziieren und zu konfigurieren. In diesem Lernprogramm definiert die Blueprint-Datei einen Service, den andere Komponenten verwenden können, um auf den Zähler zuzugreifen, der in Lerneinheit 2 definiert wurde.
In dieser Lerneinheit erstellen Sie die Blueprint-Konfigurationsdatei, die die Services definiert und beschreibt, die über CounterServiceBundle bereitgestellt werden.
Gehen Sie wie folgt vor, um die Blueprint-Konfigurationsdatei zu erstellen:
- Klicken Sie mit der rechten Maustaste auf das Projekt CounterServiceBundle und wählen Sie aus. Klicken Sie anschließend auf Fertigstellen. Die Blueprint-Konfigurationsdatei wird im Editor geöffnet.
- Fügen Sie der Blueprint-Konfigurationsdatei die Komponentenassemblierung- und -konfigurationsinformationen wie folgt hinzu:
- Klicken Sie im Editor auf der Registerkarte "Entwurf" auf Hinzufügen. Daraufhin wird der Dialog zum Hinzufügen von Elementen geöffnet.
- Klicken Sie auf Bean und anschließend auf OK.
Daraufhin wird der Dialog für die Beandetails geöffnet.
- Konfigurieren Sie die Bean wie folgt:
- Geben Sie im Feld Bean-ID die Zeichenfolge CounterBean ein.
- Klicken Sie im Feld Bean-Klasse auf Durchsuchen. Der Dialog "Typauswahl" wird geöffnet. Geben Sie im Feld Typnamen auswählen die Zeichenfolge CounterImpl ein und wählen Sie dann die Klasse CounterImpl aus. Klicken Sie auf OK.
- Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie den Dialog.
- Geben Sie im Editor im Bereich "Methodenreferenzen" im Feld Initialisierungsmethode die Zeichenfolge init ein.
Die Bean wird Ihrer Blueprint-Datei hinzugefügt.
- Klicken Sie auf Blueprint und anschließend auf Hinzufügen. Daraufhin wird der Dialog zum Hinzufügen von Elementen geöffnet.
- Klicken Sie auf Service und anschließend auf OK. Daraufhin wird der Dialog "Servicedetails" geöffnet.
- Konfigurieren Sie den Service wie folgt:
- Klicken Sie im Feld Serviceschnittstelle auf Durchsuchen und wählen Sie dann die Schnittstelle Counter aus, die Sie
in der Lerneinheit 2 erstellt haben. Klicken Sie auf OK.
- Klicken Sie im Feld Beanreferenz auf Durchsuchen und wählen Sie dann Bean: CounterBean aus. Klicken Sie auf OK.
- Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie den Dialog.
Der Service wird Ihrer Blueprint-Datei hinzugefügt.
- Speichern Sie die Datei.
Wechseln Sie zur Registerkarte "Quelle", um die Quelle der Blueprint-Konfiguration anzuzeigen:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="CounterBean" class="com.ibm.ws.eba.counter.CounterImpl" init-method="init"/>
<service id="CounterBeanService" ref="CounterBean"
interface="com.ibm.ws.eba.counter.Counter" />
</blueprint>
Tipp: Drücken Sie zum Formatieren der Quelle die Tastenkombination Strg+Umschalttaste+F.
Weitere Informationen zu dieser Blueprint-Konfigurationsdatei: - bean
- Das Element bean definiert eine Blueprint-Komponente, die instanziiert wird.
- In diesem Lernprogramm führt das Element bean zur Instanziierung der Komponente Counter, durch Aufrufen des Klassenkonstruktors CounterImpl. Nach Erstellen der Klasse wird die Initialisierungsmethode getCount() aufgerufen.
- class
- Das Attribut class gibt an, welche Implementierungsklasse der Komponente instanziiert wird.
- id
- Das Attribut id gibt die Bean an. Es ist obligatorisch, wenn die Komponente von einer anderen Stelle im Entwurf (zum Beispiel von einer Servicedefinition) referenziert wird.
- init-method
- Die Methode init-method init() wird aufgerufen, wenn die Komponente erstellt wird. Wenn Sie eine Methode nicht während der Bundleinitialisierung aufrufen möchten, entfernen Sie dieses Attribut.
- service
- Das Element service definiert den Export einer Komponente in die OSGi-Service-Registry.
- In diesem Lernprogramm exportiert das Element service die Komponente mit dem Namen Counter als Service mit der über das Attribut "interface" angegebenen Schnittstelle
com.ibm.ws.eba.counter.Counter in die OSGi-Service-Registry.
- ref
- Das Attribut ref bezieht sich auf die Komponenten-ID der exportierten Komponente. Diese ID wird im Komponentenelement festgelegt.
- interface
- Das Attribut interface verweist auf die Schnittstelle, die die Komponentenklasse implementiert.
Weitere Informationen zur Blueprint-Konfigurationsdatei finden Sie unter OSGi-Blueprint-XML-Dateien und OSGi-Blueprint-Komponentenmodell (RFC124).