MapEventListener-Plug-in

Ein MapEventListener-Plug-in stellt Callback-Benachrichtigungen und Benachrichtigungen über wichtige Cachestatusänderungen für ein BackingMap-Objekt beim Abschluss des Preload-Prozesses für eine Map oder beim Entfernen eines Eintrags aus der Map bereit. Ein MapEventListener-Plug-in ist eine angepasste Klasse, die Sie durch die Implementierung der Schnittstelle MapEventListener schreiben.

Konventionen für MapEventListener-Plug-ins

Wenn Sie ein MapEventListener-Plug-in entwickeln, müssen Sie allgemeine Plug-in-Konventionen einhalten. Weitere Informationen zu den Plug-in-Konventionen finden Sie im Abschnitt Übersicht über Plug-ins. Informationen zu anderen Typen von Listener-Plug-ins finden Sie im Abschnitt Plug-ins für die Bereitstellung von Ereignis-Listenern.

Nachdem Sie eine MapEventListener-Implementierung geschrieben haben, können Sie sie der BackingMap-Konfiguration über das Programm oder über eine XML-Konfiguration hinzufügen.

MapEventListener-Implementierung schreiben

Ihre Anwendung kann eine Implementierung des MapEventListener-Plug-ins enthalten. Das Plug-in muss die Schnittstelle "MapEventListener" implementieren, um wichtige Ereignisse zu einer Map empfangen zu können. Ereignisse werden an das MapEventListener-Plug-in gesendet, wenn ein Eintrag aus der Map entfernt wird oder wenn der Preload-Prozess für eine Map abgeschlossen ist.

MapEventListener-Implementierung programmgesteuert integrieren

Der Klassenname für das angepasste MapEventListener-Plug-in ist com.company.org.MyMapEventListener. Diese Klasse implementiert die Schnittstelle "MapEventListener". Das folgende Code-Snippet erstellt das angepasste MapEventListener-Objekt und fügt es einem BackingMap-Objekt hinzu:
ObjectGridManager objectGridManager = 
	ObjectGridManagerFactory.getObjectGridManager();
ObjectGrid myGrid = objectGridManager.createObjectGrid("myGrid", false);
BackingMap myMap = myGrid.defineMap("myMap");
MyMapEventListener myListener = new MyMapEventListener();
myMap.addMapEventListener(myListener);

MapEventListener-Implementierung über XML integrieren

Eine MapEventListener-Implementierung kann mit XML konfiguriert werden. Die folgende XML 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">
            <backingMap name="myMap" pluginCollectionRef="myPlugins" />
        </objectGrid>
    </objectGrids>
    <backingMapPluginCollections>
        <backingMapPluginCollection id="myPlugins">
            <bean id="MapEventListener" className=
							"com.company.org.MyMapEventListener" />
        </backingMapPluginCollection>
    </backingMapPluginCollections>
</objectGridConfig>
Die Bereitstellung dieser Datei für eine ObjectGridManager-Instanz vereinfacht die Erstellung der Konfiguration. Das folgende Code-Snippet veranschaulicht, wie eine ObjectGrid-Instanz mit dieser XML-Datei erstellt wird. Die neu erstellte ObjectGrid-Instanz hat ein definiertes MapEventListener-Plug-in für die BackingMap "myMap":
ObjectGridManager objectGridManager =
	ObjectGridManagerFactory.getObjectGridManager();
ObjectGrid myGrid = 
	objectGridManager.createObjectGrid("myGrid", new URL("file:etc/test/myGrid.xml"), 
		true, false);