Configuración de plug-ins habilitados para OSGi mediante el archivo XML de descriptor de ObjectGrid

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:

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

  1. 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.
  2. 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.