public interface AsyncEventListener extends CacheCallback
AsyncEventQueue to which this
listener is attached. Implementers of interface AsyncEventListener process
batches of AsyncEvent delivered by the corresponding AsyncEventQueue.
public class MyEventListener implements AsyncEventListener {
public boolean processEvents(List events) {
for (Iterator i = events.iterator(); i.hasNext();) {
AsyncEvent event = (AsyncEvent)i.next();
String originalRegionName = event.getRegion().getName();
//For illustration purpose, use the event to update the duplicate of above region.
final Region duplicateRegion = CacheHelper.getCache().getRegion(originalRegionName + "_DUP");
final Object key = event.getKey();
final Object value = event.getDeserializedValue();
final Operation op = event.getOperation();
if (op.isCreate()) {
duplicateRegion.create(key, value);
} else if (op.isUpdate()) {
duplicateRegion.put(key, value);
} else if (op.isDestroy()) {
duplicateRegion.destroy(key);
}
}
}
}
| Modifier and Type | Method and Description |
|---|---|
boolean |
processEvents(java.util.List<AsyncEvent> events)
Process the list of
AsyncEvents. |
closeboolean processEvents(java.util.List<AsyncEvent> events)
AsyncEvents. This method will
asynchronously be called when events are queued to be processed.
The size of the list will be up to batch size events where batch
size is defined in the AsyncEventQueueFactory.events - The list of AsyncEvent to process