ObjectGridPlugin-Plug-in schreiben

Ein ObjectGridPlugin ist eine optionale Mix-in-Schnittstelle, die Sie verwenden können, um allen anderen ObjectGrid-Plug-ins eine erweiterte Gruppe von Lebenszyklusverwaltungsereignissen bereitzustellen.

Informationen zu diesem Vorgang

Jedes ObjectGrid-Plug-in, das ObjectGridPlugin implementiert, empfängt die erweiterte Gruppe von Lebenszyklusereignissen und kann mehr Steuerung bei der Konfiguration und beim Entfernen von Ressourcen bieten. In einem Container für ein partitioniertes Datengrid gibt es eine einzige ObjectGrid-Instanz (Plug-in-Eigner) für jede Partition, die vom Container verwaltet wird. Wenn einzelne Partitionen entfernt werden, müssen auch die von dieser ObjectGrid-Instanz verwendeten Ressourcen entfernt werden. Deshalb müssen Sie eine Ressource schließen oder beenden, z. B. eine offene Konfigurationsdatei oder einen aktiven Thread, der von einem Plug-in verwaltet wird, wenn die Eignerpartition für diese Ressource entfernt wird.

Die Schnittstelle "ObjectGridPlugin" stellt Methoden für die Festlegung oder Änderung des Plug-in-Status sowie Methoden für die Selbstüberwachung ausführen des aktuellen Plug-in-Status bereit. Alle Methoden müssen ordnungsgemäß implementiert werden, und die Laufzeitumgebung von WebSphere eXtreme Scale überprüft das Methodenverhalten unter bestimmten Bedingungen. Nach dem Aufruf der Methode initialize() ruft die Laufzeitumgebung von eXtreme Scale beispielsweise die Methode isInitialized() auf, um sicherzustellen, dass die Initialisierung der Methode erfolgreich abgeschlossen wurde.

Vorgehensweise

  1. Implementieren Sie die Schnittstelle "ObjectGridPlugin" so, dass das ObjectGridPlugin-Plug-in Benachrichtigungen über wichtige eXtreme-Scale-Ereignisse empfängt. Es gibt drei Hauptkategorien von Methoden:
    Eigenschaftsmethoden Zweck
    setObjectGrid() Wird aufgerufen, um die ObjectGrid-Instanz zu definieren, für die das Plug-in verwendet wird.
    getObjectGrid() Wird aufgerufen, um die ObjectGrid-Instanz abzurufen bzw. zu bestätigen, für die das Plug-in verwendet wird.
    Initialisierungsmethoden Zweck
    initialize() Wird aufgerufen, um das ObjectGridPlugin zu initialisieren.
    isInitialized() Wird aufgerufen, um den Initialisierungsstatus des Plug-ins abzurufen oder zu bestätigen.
    Vernichtungsmethoden Zweck
    destroy() Wird aufgerufen, um das ObjectGridPlugin zu löschen.
    isDestroyed() Wird aufgerufen, um den Löschstatus des Plug-ins abzurufen oder zu bestätigen.

    Weitere Informationen zu diesen Schnittstellen finden Sie in der API-Dokumentation.

  2. ObjectGridPlugin-Plug-in mit XML konfigurieren. Verwenden Sie die Klasse "com.company.org.MyObjectGridPluginTxCallback", die die Schnittstelle "TransactionCallback" und die Schnittstelle "ObjectGridPlugin" implementiert.
    Im folgenden Codebeispiel wird der angepasste Transaktions-Callback, der die erweiterten Lebenszyklusereignisse empfängt, generiert und einem ObjectGrid hinzugefügt.
    Wichtig: Die Schnittstelle "TransactionCallback" hat bereits eine Initialisierungsmethode. Es werden eine neue Initialisierungsmethode, die Methode destroy und weitere ObjectGridPlugin-Methoden hinzugefügt. Jede Methode wird verwendet, und die Initialisierungsmethoden führen jeweils nur eine Initialisierung durch. Die folgende XML erstellt eine Konfiguration, die die erweiterte Schnittstelle "TransactionCallback" verwendet.

    Der folgende Text muss in der Datei myGrid.xml enthalten sein:

    ?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>

    Beachten Sie, dass die Bean-Deklarationen vor den backingMap-Deklarationen stehen müssen.

  3. Stellen Sie die Datei myGrid.xml dem ObjectGridManager-Plug-in bereit, um die Erstellung dieser Konfiguration zu vereinfachen.