GigaSpaces - Open Spaces

org.openspaces.events.notify
Class SimpleNotifyEventListenerContainer

java.lang.Object
  extended by org.openspaces.events.AbstractSpaceListeningContainer
      extended by org.openspaces.events.AbstractEventListenerContainer
          extended by org.openspaces.events.AbstractTemplateEventListenerContainer
              extended by org.openspaces.events.AbstractTransactionalEventListenerContainer
                  extended by org.openspaces.events.notify.AbstractNotifyEventListenerContainer
                      extended by org.openspaces.events.notify.SimpleNotifyEventListenerContainer
All Implemented Interfaces:
EventListener, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ApplicationListener, Lifecycle

public class SimpleNotifyEventListenerContainer
extends AbstractNotifyEventListenerContainer

A simple notification based container allowing to register a SpaceDataEventListener that will be triggered by notifications. Uses AbstractNotifyEventListenerContainer for configuration of different notification registration parameters and transactional semantics.

Allows to control using setRegisterOnStartup(boolean) if the listener will be registered for notification on startup or registration will be controlled by the AbstractEventListenerContainer.doStart() and AbstractSpaceListeningContainer.doStop() callbacks (which by default are triggered based on the current space mode - PRIMARY or BACKUP). Default is false which means registration will occur when the space moves into PRIMARY mode (assuming that AbstractSpaceListeningContainer.setActiveWhenPrimary(boolean) is set to true, which is the default).

The container can automatically take the notified event data (using GigaSpace.take(Object)) if the setPerformTakeOnNotify(boolean) is set to true. Defaults to false. If the flag is set to true, setIgnoreEventOnNullTake(boolean) can control of the event will be propagated to the event listener if the take operation returned null.

Author:
kimchy

Field Summary
 
Fields inherited from class org.openspaces.events.notify.AbstractNotifyEventListenerContainer
COM_TYPE_MULTICAST, COM_TYPE_MULTIPLEX, COM_TYPE_PREFIX, COM_TYPE_UNICAST
 
Fields inherited from class org.openspaces.events.AbstractSpaceListeningContainer
logger
 
Constructor Summary
SimpleNotifyEventListenerContainer()
           
 
Method Summary
protected  void closeSession()
           
protected  void doAfterStart()
           
protected  void doBeforeStop()
           
protected  void doInitialize()
          Register any invokers within this container.
protected  void doShutdown()
          Close the registered invokers.
protected  void registerListener()
           
 void setIgnoreEventOnNullTake(boolean ignoreEventOnNullTake)
          If set to true, will not propagate the event if the take operation returned null.
 void setPerformTakeOnNotify(boolean performTakeOnNotify)
          If set to true will remove the event from the space using take operation.
 void setRegisterOnStartup(boolean registerOnStartup)
           
 
Methods inherited from class org.openspaces.events.notify.AbstractNotifyEventListenerContainer
createDataEventSession, createEventSessionConfig, createEventSessionFactory, getNotifyLeaseExpire, getNotifyTake, getNotifyUnmatched, getNotifyUpdate, getNotifyWrite, initialize, invokeListenerWithTransaction, invokeListenerWithTransaction, isBatchEnabled, registerListener, setAutoRenew, setBatchSize, setBatchTime, setComType, setComTypeName, setFifo, setLeaseListener, setListenerLease, setNotifyAll, setNotifyFilter, setNotifyLeaseExpire, setNotifyTake, setNotifyUnmatched, setNotifyUpdate, setNotifyWrite, setPassArrayAsIs, setReplicateNotifyTemplate, setTriggerNotifyTemplate, validateConfiguration
 
Methods inherited from class org.openspaces.events.AbstractTransactionalEventListenerContainer
getTransactionDefinition, getTransactionManager, setDisableTransactionValidation, setTransactionIsolationLevel, setTransactionIsolationLevelName, setTransactionManager, setTransactionName, setTransactionTimeout
 
Methods inherited from class org.openspaces.events.AbstractTemplateEventListenerContainer
afterPropertiesSet, getReceiveTemplate, getTemplate, setPerformSnapshot, setTemplate
 
Methods inherited from class org.openspaces.events.AbstractEventListenerContainer
doStart, executeListener, getActualEventListener, getApplicationContext, getEventListener, getEventListenerClass, handleListenerException, invokeExceptionListener, invokeListener, setApplicationContext, setEventListener, setEventListenerRef
 
Methods inherited from class org.openspaces.events.AbstractSpaceListeningContainer
destroy, doRescheduleTask, doStop, getBeanName, getGigaSpace, isActive, isRunning, message, onApplicationEvent, rescheduleTaskIfNecessary, setActiveWhenPrimary, setAutoStart, setBeanName, setGigaSpace, setRegisterSpaceModeListener, shutdown, start, stop, waitWhileNotRunning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleNotifyEventListenerContainer

public SimpleNotifyEventListenerContainer()
Method Detail

setRegisterOnStartup

public void setRegisterOnStartup(boolean registerOnStartup)

setPerformTakeOnNotify

public void setPerformTakeOnNotify(boolean performTakeOnNotify)
If set to true will remove the event from the space using take operation. Default is false.


setIgnoreEventOnNullTake

public void setIgnoreEventOnNullTake(boolean ignoreEventOnNullTake)
If set to true, will not propagate the event if the take operation returned null. This flag only makes sense when setPerformTakeOnNotify(boolean) is set to true. Defaults to false.


doInitialize

protected void doInitialize()
                     throws DataAccessException
Description copied from class: AbstractSpaceListeningContainer
Register any invokers within this container.

Subclasses need to implement this method for their specific invoker management process.

Specified by:
doInitialize in class AbstractSpaceListeningContainer
Throws:
DataAccessException

doShutdown

protected void doShutdown()
                   throws DataAccessException
Description copied from class: AbstractSpaceListeningContainer
Close the registered invokers.

Subclasses need to implement this method for their specific invoker management process.

Specified by:
doShutdown in class AbstractSpaceListeningContainer
Throws:
DataAccessException
See Also:
AbstractSpaceListeningContainer.shutdown()

doAfterStart

protected void doAfterStart()
                     throws DataAccessException
Overrides:
doAfterStart in class AbstractSpaceListeningContainer
Throws:
DataAccessException

doBeforeStop

protected void doBeforeStop()
                     throws DataAccessException
Overrides:
doBeforeStop in class AbstractSpaceListeningContainer
Throws:
DataAccessException

registerListener

protected void registerListener()
                         throws DataAccessException
Throws:
DataAccessException

closeSession

protected void closeSession()

GigaSpaces - Open Spaces

Copyright © GigaSpaces.