Spring Integration

org.springframework.integration.store
Class MessageGroupStoreReaper

java.lang.Object
  extended by org.springframework.integration.store.MessageGroupStoreReaper
All Implemented Interfaces:
java.lang.Runnable, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle

public class MessageGroupStoreReaper
extends java.lang.Object
implements java.lang.Runnable, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.SmartLifecycle

Convenient configurable component to allow explicit timed expiry of MessageGroup instances in a MessageGroupStore. This component provides a no-args run() method that is useful for remote or timed execution and a destroy() method that can optionally be called on shutdown.

Author:
Dave Syer, Dave Turanski, Artem Bilan

Constructor Summary
MessageGroupStoreReaper()
           
MessageGroupStoreReaper(MessageGroupStore messageGroupStore)
           
 
Method Summary
 void afterPropertiesSet()
           
 void destroy()
           
 int getPhase()
           
 boolean isAutoStartup()
           
 boolean isRunning()
           
 void run()
          Expire all message groups older than the timeout provided.
 void setAutoStartup(boolean autoStartup)
           
 void setExpireOnDestroy(boolean expireOnDestroy)
          Flag to indicate that the stores should be expired when this component is destroyed (i.e.
 void setMessageGroupStore(MessageGroupStore messageGroupStore)
          A message group store to expire according the other configurations.
 void setPhase(int phase)
           
 void setTimeout(long timeout)
          Timeout in milliseconds (default -1).
 void start()
           
 void stop()
           
 void stop(java.lang.Runnable callback)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageGroupStoreReaper

public MessageGroupStoreReaper(MessageGroupStore messageGroupStore)

MessageGroupStoreReaper

public MessageGroupStoreReaper()
Method Detail

setExpireOnDestroy

public void setExpireOnDestroy(boolean expireOnDestroy)
Flag to indicate that the stores should be expired when this component is destroyed (i.e. usually when its enclosing ApplicationContext is closed).

Parameters:
expireOnDestroy - the flag value to set

setTimeout

public void setTimeout(long timeout)
Timeout in milliseconds (default -1). If negative then no groups ever time out. If greater than zero then all groups older than that value are expired when this component is run().

Parameters:
timeout - the timeout to set

setMessageGroupStore

public void setMessageGroupStore(MessageGroupStore messageGroupStore)
A message group store to expire according the other configurations.

Parameters:
messageGroupStore - the MessageGroupStore to set

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

destroy

public void destroy()
             throws java.lang.Exception
Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Throws:
java.lang.Exception

run

public void run()
Expire all message groups older than the timeout provided. Normally this method would be executed by a scheduled task.

Specified by:
run in interface java.lang.Runnable

start

public final void start()
Specified by:
start in interface org.springframework.context.Lifecycle

stop

public void stop()
Specified by:
stop in interface org.springframework.context.Lifecycle

isRunning

public final boolean isRunning()
Specified by:
isRunning in interface org.springframework.context.Lifecycle

getPhase

public int getPhase()
Specified by:
getPhase in interface org.springframework.context.Phased

setPhase

public void setPhase(int phase)

isAutoStartup

public boolean isAutoStartup()
Specified by:
isAutoStartup in interface org.springframework.context.SmartLifecycle

setAutoStartup

public void setAutoStartup(boolean autoStartup)

stop

public void stop(java.lang.Runnable callback)
Specified by:
stop in interface org.springframework.context.SmartLifecycle

Spring Integration