Escritura de un plug-in ObjectGridPlugin

Un ObjectGridPlugin es una interfaz mixin opcional que puede utilizar para proporcionar sucesos de gestión de ciclo de vida ampliados a todos los demás plug-in de ObjectGrid.

Acerca de esta tarea

Cualquier plug-in de ObjectGrid que implementa ObjectGridPlugin recibe el conjunto ampliado de sucesos de ciclo de vida y puede proporcionar más control, que se puede utilizar para configurar o eliminar recursos. En un contenedor para una cuadrícula de datos particionada, habrá una instancia de ObjectGrid (el propietario del plug-in) para cada partición gestionada por el contenedor. Cuando se eliminan particiones individuales, los recursos que utiliza esa instancia de ObjectGrid también se deben eliminar. Por lo tanto, es posible que deba cerrar o finalizar un recurso como, por ejemplo, un archivo de configuración abierto o una hebra en ejecución gestionada por un plug-in, cuando se elimine la partición propietaria de dicho recurso.

La interfaz ObjectGridPlugin 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 ObjectGridPlugin de forma que el plug-in ObjectGridPlugin reciba notificaciones sobre sucesos significativos de eXtreme Scale. Existen tres categorías principales de métodos:
    Métodos de propiedades Finalidad
    setObjectGrid() Se llama para establecer la instancia de ObjectGrid para la que se utiliza el plug-in.
    getObjectGrid() Se llama para obtener o confirmar la instancia de ObjectGrid para la que se utiliza el plug-in.
    Métodos de inicialización Finalidad
    initialize() Se llama para inicializar el ObjectGridPlugin.
    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 ObjectGridPlugin.
    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 ObjectGridPlugin con XML. Utilice la clase com.company.org.MyObjectGridPluginTxCallback, que implementa la interfaz TransactionCallback y la interfaz ObjectGridPlugin.
    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 un ObjectGrid.
    Importante: La interfaz TransactionCallback ya tiene un método inicialize, se añade un nuevo método initialize así como el método destroy y otros métodos ObjectGridPlugin. Se utiliza cada uno de los métodos y los métodos initialize sólo realizan la inicialización una vez. El siguiente XML crea una configuración que utiliza la interfaz TransactionCallback ampliada.

    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">
                <bean id="TransactionCallback"
                      className="com.company.org.MyObjectGridPluginTxCallback" />
                <backingMap name="Book"/>
            </objectGrid>
        </objectGrids>
    </objectGridConfig>

    Tenga en cuenta que las declaraciones de bean preceden a las declaraciones backingMap.

  3. Proporcione el archivo myGrid.xml al plug-in ObjectGridManager para facilitar la creación de esta configuración.