Gravando um Plug-in do ObjectGridPlugin

Um ObjectGridPlugin é uma interface combinada opcional que pode ser usada para fornecer eventos de gerenciamento de ciclo de vida estendidos para todos os outros plug-ins do ObjectGrid.

Sobre Esta Tarefa

Qualquer plug-in do ObjectGrid que implementa o ObjectGridPlugin recebe o conjunto de eventos de ciclo de vida estendido que, além de fornecer mais controle, pode ser usado para configurar ou remover os recursos. Em um contêiner para uma grade de dados particionados, haverá uma instância de ObjectGrid (o proprietário de plugin) para cada partição gerenciada pelo contêiner.Quando partições individuais são removidas, os recursos usados por essa instância de ObjectGrid também devem ser removidos. Portanto, pode ser necessário fechar ou finalizar um recurso, como um arquivo de configuração aberto ou um encadeamento em execução gerenciado por um plug-in, quando a partição proprietária para esse recurso for removida.

A interface ObjectGridPlugin fornece métodos para configurar ou modificar o estado do plug-in, além de métodos para examinar o estado atual do plug-in. Todos os métodos devem ser implementados corretamente e o ambiente de tempo de execução do WebSphere eXtreme Scale verifica o comportamento do método sob determinadas circunstâncias. Por exemplo, depois de chamar o método initialize(), o ambiente de tempo de execução do eXtreme Scale chama o método isInitialized() para assegurar que o método concluiu com êxito a inicialização apropriada.

Procedimento

  1. Implemente a interface ObjectGridPlugin para que o plug-in ObjectGridPlugin receba notificações sobre eventos significativos do eXtreme Scale. Há três categorias principais de métodos a seguir:
    Métodos de propriedades Propósito
    setObjectGrid() Chamado para configurar a instância do ObjectGrid usada pelo plug-in.
    getObjectGrid() Chamado para confirmar a instância do ObjectGrid usada pelo plug-in.
    Métodos de inicialização Propósito
    initialize() Chamado para inicializar o ObjectGridPlugin.
    isInitialized() Chamado para obter ou confirmar o status de inicialização do plug-in.
    Métodos de destruição Propósito
    destroy() Chamado para destruir o ObjectGridPlugin.
    isDestroyed() Chamado para obter ou confirme o status destruído do plug-in.

    Consulte a Documentação da API para obter mais informações sobre essas interfaces.

  2. Configure um Plug-in ObjectGridPlugin com o XML. Use a classe com.company.org.MyObjectGridPluginTxCallback, que implementa a interface TransactionCallback e a interface ObjectGridPlugin.
    No exemplo de código a seguir, o retorno de chamada de transação customizada, que receberá definitivamente os eventos de ciclo de vida estendidos, é gerado e incluído em um ObjectGrid.
    Importante: A interface TransactionCallback já possui um método initialize, e um novo método de initialize é incluído bem como o método destroy e outros métodos do ObjectGridPlugin. Cada método é utilizado e os métodos initialize executam apenas uma inicialização por vez. O XML a seguir cria uma configuração que usa a interface TransactionCallback aprimorada.

    O texto a seguir deve estar no arquivo 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>

    Observe que as declarações de bean aparecem antes das declarações de backingMap.

  3. Forneça o arquivo myGrid.xml para o plug-in ObjectGridManager a fim de facilitar a criação desta configuração.