Ecriture d'un plug-in BackingMapPlugin

Un plug-in BackingMap implémente l'interface intégrée mixte que vous pouvez utiliser pour recevoir des fonctions étendues pour gérer son cycle de vie.

Pourquoi et quand exécuter cette tâche

Un plug-in BackingMap qui implémente également l'interface BackingMapPlugin recevra automatiquement le groupe étendu d'événement de cycle de vie au cours de sa construction et de son utilisation.

L'interface BackingMapPlugin fournit les méthodes pour définir ou modifier l'état du plug-in, ainsi que des méthodes pour analyser l'état actuel du plug-in.

Toutes les méthodes doivent être correctement implémentées et l'environnement d'exécution WebSphere eXtreme Scale vérifie le comportement de la méthode dans certains cas. Par exemple, après l'appel de la méthode initialize() , l'environnement d'exécution eXtreme Scale appelle la méthode isInitialized() pour s'assurer que la méthode a terminé l'initialisation appropriée.

Procédure

  1. Implémentez l'interface BackingMapPlugin afin que le plug-in ObjectGridPlugin reçoive des notifications sur les événements eXtreme Scale importants. Il existe trois principales catégories de méthodes :
    Méthodes de propriété Fonction
    setBackingMap() Appelée pour indiquer l'instance BackingMap pour laquelle le plug-in est utilisé.
    getBackingMap() Appelée pour obtenir ou confirmer l'instance BackingMap pour laquelle le plug-in est utilisé.
    Méthodes d'initialisation Fonction
    initialize() Appelée pour initialiser le plug-in BackingMapPlugin.
    isInitialized() Appelée pour obtenir ou confirmer l'état d'initialisation du plug-in.
    Méthodes de destruction Fonction
    destroy() Appelée pour détruire le BackingMapPlugin.
    isDestroyed() Appelée pour obtenir ou confirmer la destruction du plug-in.

    Voir la documentation d'API pour plus d'informations sur ces interfaces.

  2. Configurez un plug-in BackingMapPlugin avec XML. Supposons que le nom de classe d'un plug-in Loader eXtreme Scale est la classe com.company.org.MyBackingMapPluginLoader qui implémente l'interface Loader et l'interface BackingMapPlugin.

    Dans l'exemple de code suivant, le rappel de transaction personnalisée, qui recevra finalement des événements de cycle de vie étendu, est généré et ajouté à un plug-in BackingMap.

    Vous pouvez configurer un plug-in BackingMapPlugin en utilisant XML. Le texte suivant doit se trouver dans le fichier 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. Fournissez le fichier myGrid.xml au plug-in ObjectGridManager pour faciliter la création de cette configuration.

Résultats

L'instance BackingMap qui est créée possède un chargeur qui reçoit les événements de cycle de vie BackingMapPlugin.