Plug-in MapEventListener

Un plug-in MapEventListener fournit les notifications de rappel et les modifications importantes de l'état du cache qui se produisent pour un objet BackingMap : lorsque le préchargement d'une mappe est terminé ou qu'une entrée est expulsée de la mappe. Un plug-in MapEventListener particulier est une classe personnalisée que vous écrivez lors de l'implémentation de l'interface MapEventListener.

Conventions du plug-in MapEventListener

Lorsque vous développez un plug-in MapEventListener, vous devez suivre les conventions de plug-in communes. Pour plus d'informations sur ces conventions de plug-in, voir Présentation des plug-in. Pour les autres types de plug-in de programme d'écoute, voir Plug-in de programme d'écoute d'événement.

Une fois que vous avez écrit une implémentation MapEventListener, vous pouvez l'intégrer à la configuration BackingMap à l'aide d'un programme ou d'une configuration XML.

Ecriture d'une implémentation MapEventListener

Votre application peut inclure une implémentation du plug-in MapEventListener. Le plug-in doit implémenter l'interface MapEventListener pour recevoir les événements importants sur une mappe. Des événements sont envoyés au plug-in MapEventListener lorsqu'une entrée est expulsée de la mappe et à la fin du préchargement d'une mappe.

Intégration d'une implémentation MapEventListener à l'aide d'un programme

Le nom de classe du MapEventListener personnalisé est com.company.org.MyMapEventListener. Cette classe implémente l'interface MapEventListener. Le fragment de code suivant crée l'objet MapEventListener personnalisé et l'ajoute à un objet BackingMap :
ObjectGridManager objectGridManager =
	ObjectGridManagerFactory.getObjectGridManager();
ObjectGrid myGrid = objectGridManager.createObjectGrid("myGrid", false);
BackingMap myMap = myGrid.defineMap("myMap");
MyMapEventListener myListener = new MyMapEventListener();
myMap.addMapEventListener(myListener);

Intégration d'une implémentation MapEventListener à l'aide d'un XML

Une implémentation MapEventListner peut être configurée à l'aide d'un XML. Le XML 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="myMap" pluginCollectionRef="myPlugins" />
        </objectGrid>
    </objectGrids>
    <backingMapPluginCollections>
        <backingMapPluginCollection id="myPlugins">
            <bean id="MapEventListener" className=
							"com.company.org.MyMapEventListener" />
        </backingMapPluginCollection>
    </backingMapPluginCollections>
</objectGridConfig>
Si ce fichier est fourni à l'instance ObjectGridManager, la création de cette configuration est facilitée. Le fragment de code suivant indique comment créer une instance ObjectGrid à l'aide de ce fichier XML. Pour l'instance ObjectGrid nouvellement créée, un MapEventListener est défini sur la mappe de sauvegarde myMap.
ObjectGridManager objectGridManager = 
	ObjectGridManagerFactory.getObjectGridManager();
ObjectGrid myGrid = 
	objectGridManager.createObjectGrid("myGrid", new URL("file:etc/test/myGrid.xml"), 
		true, false);