Le fichier de configuration Blueprint contient les informations d'assemblage et de configuration des composants d'un bundle. Il décrit comment les composants sont enregistrés dans le registre de services OSGi
ou comment ils recherchent les services dans ce registre. Ces informations sont utilisées lors de l'exécution pour instancier et configurer les composants requis lors du démarrage du bundle. Dans ce tutoriel, le fichier Blueprint définit
un service que d'autres composants peuvent utiliser pour accéder au compteur défini au cours de la leçon 2.
Dans cette leçon, vous créez le
fichier de configuration Blueprint qui définit et décrit les services qui sont fournis par
le CounterServiceBundle.
Pour créer le fichier de configuration Blueprint :
- Cliquez avec le bouton droit sur le projet CounterServiceBundle et sélectionnez puis cliquez sur Terminer. Le fichier de configuration Blueprint s'ouvre dans l'éditeur.
- Ajoutez l'assemblage de composant et les informations de configuration
au fichier de configuration Blueprint :
- Dans l'onglet Conception de l'éditeur, cliquez sur Ajouter. La boîte de dialogue Ajouter un élément s'ouvre.
- Cliquez sur Bean, puis cliquez sur OK. La boîte de dialogue de détails du bean s'ouvre.
- Configurez le bean :
- Dans la zone de l'ID du bean, tapez CounterBean.
- Dans la zone de classe de bean, cliquez sur Parcourir. La boîte de dialogue de sélection de type s'ouvre. dans la zone Sélectionnez un nom de type, tapez CounterImpl, puis sélectionnez la classe CounterImpl. Cliquez sur
OK.
- Cliquez sur OK pour accepter les modifications et fermer la boîte de dialogue.
- Dans l'éditeur, dans la zone Méthode d'initialisation, sous la section Références de la méthode, tapez init.
Le bean est ajouté à votre fichier Blueprint.
- Cliquez sur Blueprint, puis cliquez sur Ajouter. La boîte de dialogue Ajouter un élément s'ouvre.
- Cliquez sur Service, puis sur OK. La boîte de dialogue de détails du service s'ouvre.
- Configurez le service :
- Dans la zone Interface de service, cliquez sur Parcourir, puis sélectionnez l'interface Compteur que vous avez créé dans la Leçon 2. Cliquez sur OK.
- Dans la zone Référence de bean, cliquez sur Parcourir, puis sélectionnez Bean: CounterBean. Cliquez sur
OK.
- Cliquez sur OK pour accepter les modifications et fermer la boîte de dialogue.
Le service est ajouté à votre fichier Blueprint.
- Enregistrez ce fichier.
Passez à l'onglet Source pour afficher la source de configuration Blueprint :
<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>
Conseil : Pour formater la source, appuyez sur Ctrl +
Maj + F.
En savoir plus sur ce fichier de configuration Blueprint : - bean
- L'élément bean définit le composant Blueprint instancié.
- Dans ce tutoriel, l'élément bean entraîne
l'instanciation du composant Counter en appelant le constructeur de classe
CounterImpl. Après la création de la classe,
la méthode d'initialisation getCount() est appelée.
- classe
- L'attribut class spécifie la classe d'implémentation
du composant instanciée.
- id
- L'attribut id identifie le composant. Il est obligatoire si le composant est référencé depuis un autre endroit
dans le fichier Blueprint ; par exemple, s'il est référencé dans une définition de service.
- init-method
- init-method init() est appelé lors de la création du composant. Si vous ne souhaitez pas appeler une méthode lors de l'initialisation du bundle,
supprimez cet attribut.
- service
- L'élément service définit l'exportation d'un composant dans le registre de service
OSGi.
- Dans ce tutoriel, l'élément service exporte le composant
avec le nom Counter en service
dans le registre de service OSGi avec l'interface com.ibm.ws.eba.counter.Counter, spécifiée par l'attribut d'interface.
- ref
- L'attribut ref se rapporte à l'ID de composant
du composant exporté. Cet ID est défini dans l'élément de composant.
- interface
- L'attribut interface se rapporte à l'interface
que la classe de composant met en oeuvre.
Pour plus d'informations sur le fichier de configuration Blueprint,
voir Fichiers XML Blueprint OSGi et Modèle de composant Blueprint OSGi (RFC124).