public class DefaultHeaderChannelRegistry extends IntegrationObjectSupport implements HeaderChannelRegistry, org.springframework.context.SmartLifecycle, java.lang.Runnable
BeanFactoryChannelResolver
to find the channel by name
in the event that the flow serialized the message at some point.
Channels are expired after a configurable delay (60 seconds by default).
The actual average expiry time will be 1.5x the delay.logger
Constructor and Description |
---|
DefaultHeaderChannelRegistry()
Constructs a registry with the default delay for channel expiry.
|
DefaultHeaderChannelRegistry(long reaperDelay)
Constructs a registry with the provided delay (milliseconds) for
channel expiry.
|
Modifier and Type | Method and Description |
---|---|
MessageChannel |
channelNameToChannel(java.lang.String name)
Converts the channel name back to a
MessageChannel (if it is
registered). |
java.lang.Object |
channelToChannelName(java.lang.Object channel)
Converts the channel to a name (String).
|
int |
getPhase() |
long |
getReaperDelay() |
boolean |
isAutoStartup() |
boolean |
isRunning() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
run() |
void |
runReaper()
Cancel the scheduled reap task and run immediately; then reschedule.
|
void |
setAutoStartup(boolean autoStartup) |
void |
setPhase(int phase) |
void |
setReaperDelay(long reaperDelay)
Set the reaper delay.
|
void |
setTaskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler) |
int |
size() |
void |
start() |
void |
stop() |
void |
stop(java.lang.Runnable callback) |
afterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getComponentType, getConversionService, getIntegrationProperties, getIntegrationProperty, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, toString
public DefaultHeaderChannelRegistry()
public DefaultHeaderChannelRegistry(long reaperDelay)
reaperDelay
- the delay in milliseconds.public final void setReaperDelay(long reaperDelay)
reaperDelay
- the delay in milliseconds.public final long getReaperDelay()
public void setTaskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler)
setTaskScheduler
in class IntegrationObjectSupport
public int getPhase()
getPhase
in interface org.springframework.context.Phased
public final void setPhase(int phase)
public boolean isAutoStartup()
isAutoStartup
in interface org.springframework.context.SmartLifecycle
public final void setAutoStartup(boolean autoStartup)
public final int size()
size
in interface HeaderChannelRegistry
protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class IntegrationObjectSupport
java.lang.Exception
public void start()
start
in interface org.springframework.context.Lifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
public void stop(java.lang.Runnable callback)
stop
in interface org.springframework.context.SmartLifecycle
public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
public java.lang.Object channelToChannelName(java.lang.Object channel)
HeaderChannelRegistry
MessageChannel
, it is returned unchanged.channelToChannelName
in interface HeaderChannelRegistry
channel
- The channel.public MessageChannel channelNameToChannel(java.lang.String name)
HeaderChannelRegistry
MessageChannel
(if it is
registered).channelNameToChannel
in interface HeaderChannelRegistry
name
- The name of the channel.public void runReaper()
runReaper
in interface HeaderChannelRegistry
public void run()
run
in interface java.lang.Runnable