GigaSpaces XAP 7.0 API

org.openspaces.events.polling.receive
Class ExclusiveReadReceiveOperationHandler

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

public class ExclusiveReadReceiveOperationHandler
extends AbstractNonBlockingReceiveOperationHandler

Performs single read operation using GigaSpace.read(Object,long) under an exclusive read lock. This receive operation handler allows to lock entries so other receive operations won't be able to obtain it (mimics the take operation) but without actually performing a take from the Space. Note, this receive operation handler must be performed under a transaction.

Author:
kimchy

Constructor Summary
ExclusiveReadReceiveOperationHandler()
           
 
Method Summary
protected  Object doReceiveBlocking(Object template, GigaSpace gigaSpace, long receiveTimeout)
          Performs single read operation using GigaSpace.read(Object,long) under an exclusive read lock.
protected  Object doReceiveNonBlocking(Object template, GigaSpace gigaSpace)
          Performs single read operation using GigaSpace.read(Object,long) under an exclusive read lock with no timeout.
 
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

ExclusiveReadReceiveOperationHandler

public ExclusiveReadReceiveOperationHandler()
Method Detail

doReceiveBlocking

protected Object doReceiveBlocking(Object template,
                                   GigaSpace gigaSpace,
                                   long receiveTimeout)
                            throws DataAccessException
Performs single read operation using GigaSpace.read(Object,long) under an exclusive read lock. This receive operation handler allows to lock entries so other receive operations won't be able to obtain it (mimics the take operation) but without actually performing a take from the Space. Note, this receive operation handler must be performed under a transaction.

Specified by:
doReceiveBlocking in class AbstractNonBlockingReceiveOperationHandler
Throws:
DataAccessException

doReceiveNonBlocking

protected Object doReceiveNonBlocking(Object template,
                                      GigaSpace gigaSpace)
                               throws DataAccessException
Performs single read operation using GigaSpace.read(Object,long) under an exclusive read lock with no timeout. This receive operation handler allows to lock entries so other receive operations won't be able to obtain it (mimics the take operation) but without actually performing a take from the Space. Note, this receive operation handler must be performed under a transaction.

Specified by:
doReceiveNonBlocking in class AbstractNonBlockingReceiveOperationHandler
Throws:
DataAccessException

GigaSpaces XAP 7.0 API

Copyright © GigaSpaces.