El archivo de configuración blueprint contiene información de configuración y ensamblaje de componentes para un paquete. El archivo describe cómo se registran los componentes en el registro de servicios OSGi o cómo buscan servicios en el registro de servicios OSGi. Esta información se utiliza durante el tiempo de ejecución para crear instancias y configurar los componentes necesarios cuando se inicia el paquete. En esta guía de aprendizaje, el archivo blueprint define un servicio que otros componentes pueden utilizar para acceder al contador que se ha definido en la Lección 2.
En esta lección, va a crear el archivo de configuración blueprint que define y describe los servicios que proporciona CounterServiceBundle.
Para crear el archivo de configuración blueprint:
- Pulse el botón derecho del ratón en el proyecto CounterServiceBundle y seleccione y, a continuación, pulse Finalizar. Se abrirá el archivo de configuración blueprint en el editor.
- Añada la información de configuración y ensamblaje de componentes en el archivo de configuración blueprint:
- En la pestaña Diseño del editor, pulse Añadir. Se abrirá el diálogo Añadir elemento.
- Pulse Bean y, a continuación, pulse Aceptar. Se abrirá el diálogo Detalles del bean.
- Configure el bean:
- En el campo ID de bean, escriba CounterBean.
- En el campo Clase de bean, pulse Examinar. Se abrirá el diálogo Selección de tipo. En el campo Elegir nombre de tipo, escriba CounterImpl y, a continuación, seleccione la clase CounterImpl. Pulse Aceptar.
- Pulse Aceptar para aceptar los cambios y cerrar el diálogo.
- En el campo Método de inicialización del editor, en la sección Referencias de método, escriba init.
Se añade el bean al archivo blueprint.
- Pulse Blueprint y, a continuación, pulse Añadir. Se abrirá el diálogo Añadir elemento.
- Pulse Servicio y, a continuación, pulse Aceptar. Se abrirá el diálogo Detalles del servicio.
- Configure el servicio:
- En el campo Interfaz de servicio, pulse Examinar y, a continuación, seleccione la interfaz Contador que ha creado en la Lección 2. Pulse Aceptar.
- En el campo Referencia de bean, pulse Examinar y, a continuación, seleccione Bean: CounterBean. Pulse Aceptar.
- Pulse Aceptar para aceptar los cambios y cerrar el diálogo.
Se añade el servicio al archivo blueprint.
- Guarde el archivo.
Vaya a la pestaña Origen para ver el origen de configuración 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>
Consejo: Para dar formato al origen pulse Control + Mayúsculas + F.
Más información sobre este archivo de configuración blueprint: - bean
- El elemento bean define el componente blueprint del que se han creado instancias.
- En esta guía de aprendizaje, el elemento bean da como resultado la creación de instancias del componente Contador invocando al constructor de clase CounterImpl. Tras crear la clase, se invoca al método de inicialización getCount().
- class
- El atributo class especifica la clase de implementación del componente
de la que se crea la instancia.
- id
- El atributo id identifica el componente. Es obligatorio si se hace referencia al componente desde otra parte de blueprint, por ejemplo si se hace referencia a él desde una definición de servicio.
- init-method
- Se invoca a init-method init() cuando se crea el componente. Si no desea invocar un método durante la inicialización del paquete, elimine este atributo.
- service
- El elemento service define la exportación de un componente en el registro de servicios OSGi.
- En esta guía de aprendizaje, el elemento service exporta el componente con el nombre Contador como servicio en el registro de servicios OSGi con la interfaz com.ibm.ws.eba.counter.Counter, que se ha especificado con el atributo de interfaz.
- ref
- El atributo ref hace referencia al ID del componente exportado. Este ID se define en el elemento de componente.
- interface
- El atributo interface hace referencia a la interfaz que implementa la clase de componente.
Para obtener más información sobre el archivo de configuración blueprint, consulte XML de blueprint OSGi y Modelo de componente Blueprint OSGi (RFC124).