Interface AsyncEventQueueFactory
public interface AsyncEventQueueFactory
Factory to create the
AsyncEventQueue. Below example illustrates how to get the
instance of factory and create the AsyncEventQueue.
Cache c = new CacheFactory().create();
// get AsyncEventQueueFactory from cache
AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
// set the attributes on factory
factory.setBatchSize(batchSize);
factory.setBatchConflationEnabled(isConflation);
factory.setMaximumQueueMemory(maxMemory);
factory.setParallel(isParallel);
.
.
// create instance of AsyncEventListener
AsyncEventListener asyncEventListener = new <AsyncEventListener class>;
// create AsyncEventQueue by providing the id and instance of AsyncEventListener
AsyncEventQueue asyncQueue = factory.create(asyncQueueId, asyncEventListener);
- Since:
- GemFire 7.0
-
Method Summary
Modifier and TypeMethodDescriptionAdds aGatewayEventFilterto the attributes of AsyncEventQueue being created by factory.create(String id, AsyncEventListener listener) Creates theAsyncEventQueue.Pauses the dispatching of the queued events to the listener.Removes the providedGatewayEventFilterfrom the attributes of AsyncEventQueue being created by factory.setBatchConflationEnabled(boolean isConflation) Sets whether to enable batch conflation forAsyncEventQueue.setBatchSize(int size) Sets the batch size for anAsyncEventQueue's queue.setBatchTimeInterval(int interval) Sets the batch time interval (in milliseconds) for aAsyncEventQueue.setDiskStoreName(String name) Sets the disk store name for overflow or persistence.setDiskSynchronous(boolean isSynchronous) Sets whether or not the writing to the disk is synchronous.setDispatcherThreads(int numThreads) Sets the number of dispatcher threads.setForwardExpirationDestroy(boolean forward) Forwards destroy operations from expiration action to AsyncEventQueue.Sets theGatewayEventSubstitutionFilter.setMaximumQueueMemory(int memory) Sets the maximum amount of memory (in MB) for anAsyncEventQueue's queue.Sets the order policy for multiple dispatchers.setParallel(boolean isParallel) Indicates whether all VMs need to distribute events to remote site.setPersistent(boolean isPersistent) Sets whether theAsyncEventQueueis persistent or not.
-
Method Details
-
setDiskStoreName
Sets the disk store name for overflow or persistence.- Parameters:
name- the disk store name for overflow or persistence- Returns:
- this factory
-
setMaximumQueueMemory
Sets the maximum amount of memory (in MB) for anAsyncEventQueue's queue. Default is 100 MB.- Parameters:
memory- The maximum amount of memory (in MB) for anAsyncEventQueue's queue- Returns:
- this factory
-
setDiskSynchronous
Sets whether or not the writing to the disk is synchronous. Default is true.- Parameters:
isSynchronous- boolean if true indicates synchronous writes- Returns:
- this factory
-
setBatchSize
Sets the batch size for anAsyncEventQueue's queue. Default is 100.- Parameters:
size- The size of batches sent to itsAsyncEventListener- Returns:
- this factory
-
setBatchTimeInterval
Sets the batch time interval (in milliseconds) for aAsyncEventQueue. Default is 5 ms.- Parameters:
interval- The maximum time interval that can elapse before a partial batch is sent from aAsyncEventQueue.- Returns:
- this factory
-
setPersistent
Sets whether theAsyncEventQueueis persistent or not. Default is false.- Parameters:
isPersistent- Whether to enable persistence for anAsyncEventQueue.- Returns:
- this factory
-
setParallel
Indicates whether all VMs need to distribute events to remote site. In this case only the events originating in a particular VM will be in dispatched in order. Default is false.- Parameters:
isParallel- boolean to indicate whether distribution policy is parallel- Returns:
- this factory
-
setBatchConflationEnabled
Sets whether to enable batch conflation forAsyncEventQueue. Default is false.- Parameters:
isConflation- Whether or not to enable batch conflation for batches sent from aAsyncEventQueue- Returns:
- this factory
-
setDispatcherThreads
Sets the number of dispatcher threads. Default is 5.- Parameters:
numThreads- the number of dispatcher threads- Returns:
- this factory
-
addGatewayEventFilter
Adds aGatewayEventFilterto the attributes of AsyncEventQueue being created by factory.- Parameters:
filter- GatewayEventFilter- Returns:
- this factory
-
removeGatewayEventFilter
Removes the providedGatewayEventFilterfrom the attributes of AsyncEventQueue being created by factory.- Parameters:
filter- theGatewayEventFilterto remove- Returns:
- this factory
-
setOrderPolicy
Sets the order policy for multiple dispatchers. Default is KEY.- Parameters:
policy- the order policy for multiple dispatchers- Returns:
- this factory
-
setGatewayEventSubstitutionListener
Sets theGatewayEventSubstitutionFilter.- Parameters:
filter- TheGatewayEventSubstitutionFilter- Returns:
- this factory
-
setForwardExpirationDestroy
Forwards destroy operations from expiration action to AsyncEventQueue. By default the expiration destroy events are not added to AEQ, by setting this attribute to true adds destroy event to AEQ.- Parameters:
forward- boolean to indicate whether to forward expiration destroy events.- Returns:
- this factory
-
pauseEventDispatching
AsyncEventQueueFactory pauseEventDispatching()Pauses the dispatching of the queued events to the listener.- Returns:
- this factory
-
create
Creates theAsyncEventQueue. It accepts Id of AsyncEventQueue and instance of AsyncEventListener. Multiple queues can be created using Same listener instance. So, the instance ofAsyncEventListenershould be thread safe in that case. TheAsyncEventListenerwill start receiving events when theAsyncEventQueueis created.- Parameters:
id- Id of AsyncEventQueuelistener-AsyncEventListenerto be added to the regions that are configured to use this queue.- Returns:
- the created
AsyncEventQueue
-