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<AsyncEvent> 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); } } return true; } }
Modifier and Type | Method and Description |
---|---|
boolean |
processEvents(List<AsyncEvent> events)
Process the list of
AsyncEvent s. |
close
init, initialize
boolean processEvents(List<AsyncEvent> events)
AsyncEvent
s. 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