Cómo escribir un plug-in BackingMapPlugin

Un plug-in BackingMap implementa la interfaz mixin BackingMapPlugin, que se puede utilizar para recibir prestaciones ampliadas para la gestión de su ciclo de vida.

Acerca de esta tarea

Cualquier plug-in BackingMap existente que implemente también la interfaz BackingMapPlugin recibirá automáticamente el conjunto ampliado de sucesos de ciclo de vida durante su construcción y uso.

La interfaz BackingMapPlugin proporciona métodos para establecer o modificar el estado del plug-in, así como métodos para inspeccionar el estado actual del plug-in.

Todos los métodos se deben implementar correctamente y el entorno de ejecución de WebSphere eXtreme Scale verifica el comportamiento del método en determinadas circunstancias. Por ejemplo, después de llamar al método initialize(), el entorno de ejecución de eXtreme Scale llama al método isInitialized() para garantizar que el método ha completado satisfactoriamente la inicialización adecuada.

Procedimiento

  1. Implemente la interfaz BackingMapPlugin de forma que el plug-in BackingMapPlugin reciba notificaciones sobre sucesos significativos de eXtreme Scale. Existen tres categorías principales de métodos:
    Métodos de propiedades Finalidad
    setBackingMap() Se llama para establecer la instancia de BackingMap para la que se utiliza el plug-in.
    getBackingMap() Se llama para obtener o confirmar la instancia BackingMap para la que se utiliza el plug-in.
    Métodos de inicialización Finalidad
    initialize() Se llama para inicializar el plug-in BackingMapPlugin.
    isInitialized() Se llama para obtener o confirmar el estado de inicialización del plug-in.
    Métodos de destrucción Finalidad
    destroy() Se llama para destruir el plug-in BackingMapPlugin.
    isDestroyed() Se llama para obtener o confirmar el estado destruido del plug-in.

    Consulte la documentación de la API para obtener más información sobre estas interfaces.

  2. Configure un plug-in BackingMapPlugin con XML. Supongamos que el nombre de clase de un plug-in eXtreme Scale Loader es la clase com.company.org.MyBackingMapPluginLoader, que implementa la interfaz Loader y la interfaz BackingMapPlugin.

    En el siguiente ejemplo de código, la devolución de llamada de transacción personalizada, que en última instancia recibirá los sucesos de ciclo de vida ampliados, se genera y añade a una BackingMap.

    También puede configurar un plug-in BackingMapPlugin mediante XML. El siguiente texto debe aparecer en el archivo myGrid.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">
                <backingMap name="Book" pluginCollectionRef="myPlugins" />
            </objectGrid>
        </objectGrids>
        <backingMapPluginCollections>
            <backingMapPluginCollection id="myPlugins">
                <bean id="Loader"
                      className="com.company.org.MyBackingMapPluginLoader" />
            </backingMapPluginCollection>
        </backingMapPluginCollections>
    </objectGridConfig>
  3. Proporcione el archivo myGrid.xml al plug-in ObjectGridManager para facilitar la creación de esta configuración.

Resultados

La instancia BackingMap que se crea tiene un cargador que recibe los sucesos de ciclo de vida de BackingMapPlugin.