Asociación de un servicio con una identidad persistente
Puede asociar un conjunto de propiedades de configuración a su componente de consumo tal como se describe en la especificación de administración de configuración OSGi mediante la identidad persistente (PID).
Acerca de esta tarea
- Registrar una implementación de org.osgi.service.cm.ManagedService o org.osgi.service.cm.ManagedServiceFactory directamente con el servicio de administración de configuración (CA) OSGi
- Este es el que más se utiliza en los paquetes de kernel de nivel inferior, en los que la gestión de servicio mediante Blueprint o los servicios declarativos (DS) de OSGi no está disponible en el momento de inicio del paquete. El registro especifica el PID que identifica el conjunto de configuración que se debe recibir.
- Definir un servicio en DS
- Es la manera más común de que los servicios en paquetes de características reciban la configuración. El nombre de servicio se utiliza como el PID para asociar datos de configuración. DS recibe el conjunto de configuración del CA y lo pasa al servicio definido.
Ejemplo
Un servicio puede declararse utilizando la
siguiente entrada en el archivo *.bnd del proyecto:
Service-Component: com.ibm.ws.transaction; \
provide:='com.ibm.tx.config.ConfigurationProvider'; \
immediate:='true'; \
modified:='modified'; \
implementation:=com.ibm.ws.transaction.services.JTMConfigurationProvider
Esto genera el siguiente código XML, que también lo puede codificar
el desarrollador en lugar de utilizar la entrada bnd
Service-Component:
<component name="com.ibm.ws.transaction" xmlns="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" modified="modified">
<implementation class="com.ibm.ws.transaction.services.JTMConfigurationProvider" />
<service>
<provide interface="com.ibm.tx.config.ConfigurationProvider" />
</service>
<property name="service.vendor" value="IBM" />
</component>
El nombre de componente, com.ibm.ws.transaction, se utiliza como el PID
para la asociación de datos de configuración. Si este componente no
proporciona metadatos para describir su configuración, puede
especificar las propiedades de configuración del componente utilizando ese
PID en el archivo server.xml, o un archivo incluido, definiendo la entrada de este modo:
<com.ibm.ws.transaction made.up.property.key="47">