GigaSpaces XAP 7.0 API

org.openspaces.events.polling.receive
Class MultiExclusiveReadReceiveOperationHandler

java.lang.Object
  extended by org.openspaces.events.polling.receive.AbstractNonBlockingReceiveOperationHandler
      extended by org.openspaces.events.polling.receive.MultiExclusiveReadReceiveOperationHandler
All Implemented Interfaces:
ReceiveOperationHandler

public class MultiExclusiveReadReceiveOperationHandler
extends AbstractNonBlockingReceiveOperationHandler

First tries and perform a GigaSpace.readMultiple(Object,int) using the provided template and configured maxEntries (defaults to 50). If no values are returned, will perform a blocking read operation using GigaSpace.read(Object,long).

Read operations are performed under an exclusive read lock which mimics the similar behavior as take without actually taking the entry from the space.

Author:
kimchy

Constructor Summary
MultiExclusiveReadReceiveOperationHandler()
           
 
Method Summary
protected  Object doReceiveBlocking(Object template, GigaSpace gigaSpace, long receiveTimeout)
          First tries and perform a GigaSpace.readMultiple(Object,int) using the provided template and configured maxEntries (defaults to 50).
protected  Object doReceiveNonBlocking(Object template, GigaSpace gigaSpace)
          Perform a GigaSpace.readMultiple(Object,int) using the provided template and configured maxEntries (defaults to 50).
 void setMaxEntries(int maxEntries)
          Sets the max entries the initial take multiple operation will perform.
 
Methods inherited from class org.openspaces.events.polling.receive.AbstractNonBlockingReceiveOperationHandler
receive, setNonBlocking, setNonBlockingFactor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiExclusiveReadReceiveOperationHandler

public MultiExclusiveReadReceiveOperationHandler()
Method Detail

setMaxEntries

public void setMaxEntries(int maxEntries)
Sets the max entries the initial take multiple operation will perform.


doReceiveBlocking

protected Object doReceiveBlocking(Object template,
                                   GigaSpace gigaSpace,
                                   long receiveTimeout)
                            throws DataAccessException
First tries and perform a GigaSpace.readMultiple(Object,int) using the provided template and configured maxEntries (defaults to 50). If no values are returned, will perform a blocking read operation using GigaSpace.read(Object,long).

Read operations are performed under an exclusive read lock which mimics the similar behavior as take without actually taking the entry from the space.

Specified by:
doReceiveBlocking in class AbstractNonBlockingReceiveOperationHandler
Throws:
DataAccessException

doReceiveNonBlocking

protected Object doReceiveNonBlocking(Object template,
                                      GigaSpace gigaSpace)
                               throws DataAccessException
Perform a GigaSpace.readMultiple(Object,int) using the provided template and configured maxEntries (defaults to 50).

Read operations are performed under an exclusive read lock which mimics the similar behavior as take without actually taking the entry from the space.

Specified by:
doReceiveNonBlocking in class AbstractNonBlockingReceiveOperationHandler
Throws:
DataAccessException

GigaSpaces XAP 7.0 API

Copyright © GigaSpaces.