Class MessageGroupStoreReaper
java.lang.Object
org.springframework.integration.store.MessageGroupStoreReaper
- All Implemented Interfaces:
Runnable
,DisposableBean
,InitializingBean
,Lifecycle
,Phased
,SmartLifecycle
public class MessageGroupStoreReaper
extends Object
implements Runnable, DisposableBean, InitializingBean, 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
-
Field Summary
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
destroy()
int
getPhase()
boolean
final boolean
void
run()
Expire all message groups older than thetimeout
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).final void
start()
void
stop()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.SmartLifecycle
stop
-
Constructor Details
-
MessageGroupStoreReaper
-
MessageGroupStoreReaper
public MessageGroupStoreReaper()
-
-
Method Details
-
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 enclosingApplicationContext
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 isrun()
.- Parameters:
timeout
- the timeout to set
-
setMessageGroupStore
A message group store to expire according the other configurations.- Parameters:
messageGroupStore
- theMessageGroupStore
to set
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
destroy
public void destroy()- Specified by:
destroy
in interfaceDisposableBean
-
run
public void run()Expire all message groups older than thetimeout
provided. Normally this method would be executed by a scheduled task. -
start
public final void start() -
stop
public void stop() -
isRunning
public final boolean isRunning() -
getPhase
public int getPhase()- Specified by:
getPhase
in interfacePhased
- Specified by:
getPhase
in interfaceSmartLifecycle
-
setPhase
public void setPhase(int phase) -
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartup
in interfaceSmartLifecycle
-
setAutoStartup
public void setAutoStartup(boolean autoStartup)
-