En esta tarea, se añaden servicios OSGi existentes
a un archivo XML de descriptor para que el contenedor de
WebSphere eXtreme
Scale pueda reconocer
y cargar correctamente los plug-ins habilitados para OSGi.
Antes de empezar
Para configurar los plug-ins, asegúrese de:
- Crear el paquete y habilitar plug-ins dinámicos para despliegue OSGi.
- Tener los nombres de los servicios OSGi que representan los plug-ins
disponibles.
Acerca de esta tarea
Ha creado un servicio OSGi para recortar los plug-in. Ahora,
estos servicios deben definirse en el archivo
objectgrid.xml
para que los contenedores de
eXtreme Scale
pueden cargar y configurar el plug-in o los plug-ins correctamente.
Procedimiento
- Cualquier plug-in específico de cuadrícula, por ejemplo TransactionCallback,
debe especificarse en el elemento objectGrid. Consulte el ejemplo siguiente del archivo objectgrid.xml:
<?xml version="1.0" encoding="UTF-8"?>
<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="MyGrid" txTimeout="60">
<bean id="myTranCallback" osgiService="myTranCallbackFactory"/>
...
</objectGrid>
...
</objectGrids>
...
/objectGridConfig>
Importante: El valor de atributo osgiService debe coincidir con
el valor de atributo ref que se especifica en el archivo XML
blueprint, donde se ha definido el servicio
para myTranCallback PluginServiceFactory.
- Cualquier plug-in específico de correlación, por ejemplo los cargadores o serializadores,
se debe especificar en el elemento backingMapPluginCollections
y se debe hacer referencia a él desde el elemento backingMap. Consulte el ejemplo siguiente del archivo objectgrid.xml:
<?xml version="1.0" encoding="UTF-8"?>
objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="MyGrid" txTimeout="60">
<backingMap name="MyMap1" lockStrategy="PESSIMISTIC"
copyMode="COPY_TO_BYTES" nullValuesSupported="false"
pluginCollectionRef="myPluginCollectionRef1"/>
<backingMap name="MyMap2" lockStrategy="PESSIMISTIC"
copyMode="COPY_TO_BYTES" nullValuesSupported="false"
pluginCollectionRef="myPluginCollectionRef2"/>
...
</objectGrid>
...
</objectGrids>
...
<backingMapPluginCollections>
<backingMapPluginCollection id="myPluginCollectionRef1">
<bean id="MapSerializerPlugin" osgiService="mySerializerFactory"/>
</backingMapPluginCollection>
<backingMapPluginCollection id="myPluginCollectionRef2">
<bean id="MapSerializerPlugin" osgiService="myOtherSerializerFactory"/>
<bean id="Loader" osgiService="myLoader"/>
</backingMapPluginCollection>
...
</backingMapPluginCollections>
...
</objectGridConfig>
Resultados
El archivo
objectgrid.xml de este ejemplo
indica a
eXtreme Scale que cree
una cuadrícula denominada
MyGrid con dos correlaciones,
MyMap1 y
MyMap2. La correlación
MyMap1 utiliza el serializador recortado por el servicio
OSGi,
mySerializerFactory. La correlación
MyMap2
utiliza un serializador del servicio OSGi,
myOtherSerializerFactory,
y un cargador del servicio OSGi,
myLoader.