public class DefaultHeaderChannelRegistry extends IntegrationObjectSupport implements HeaderChannelRegistry, SmartLifecycle, 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.| Modifier and Type | Field and Description |
|---|---|
protected Map<String,org.springframework.integration.channel.DefaultHeaderChannelRegistry.MessageChannelWrapper> |
channels |
protected static AtomicLong |
id |
protected String |
uuid |
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(String name)
Converts the channel name back to a
MessageChannel (if it is
registered). |
Object |
channelToChannelName(Object channel)
Converts the channel to a name (String).
|
Object |
channelToChannelName(Object channel,
long timeToLive)
Converts the channel to a name (String).
|
int |
getPhase()
Deprecated.
- this class will not implement
SmartLifecycle in 4.2, just Lifecycle. |
long |
getReaperDelay() |
boolean |
isAutoStartup()
Deprecated.
- this class will not implement
SmartLifecycle in 4.2, just Lifecycle. |
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)
Deprecated.
- this class will not implement
SmartLifecycle in 4.2, just Lifecycle. |
void |
setPhase(int phase)
Deprecated.
- this class will not implement
SmartLifecycle in 4.2, just Lifecycle. |
void |
setReaperDelay(long reaperDelay)
Set the reaper delay.
|
void |
setRemoveOnGet(boolean removeOnGet)
Set to true to immediately remove the channel mapping when
channelNameToChannel(String) is invoked. |
void |
setTaskScheduler(TaskScheduler taskScheduler) |
int |
size() |
void |
start() |
void |
stop() |
void |
stop(Runnable callback) |
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getComponentType, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, toStringprotected final Map<String,org.springframework.integration.channel.DefaultHeaderChannelRegistry.MessageChannelWrapper> channels
protected static final AtomicLong id
protected final String uuid
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 setRemoveOnGet(boolean removeOnGet)
channelNameToChannel(String) is invoked.removeOnGet - true to remove immediately, default false.public void setTaskScheduler(TaskScheduler taskScheduler)
setTaskScheduler in class IntegrationObjectSupport@Deprecated public int getPhase()
SmartLifecycle in 4.2, just Lifecycle.@Deprecated public final void setPhase(int phase)
SmartLifecycle in 4.2, just Lifecycle.phase - - the phase to set.@Deprecated public boolean isAutoStartup()
SmartLifecycle in 4.2, just Lifecycle.isAutoStartup in interface SmartLifecycle@Deprecated public final void setAutoStartup(boolean autoStartup)
SmartLifecycle in 4.2, just Lifecycle.autoStartup - the boolean flag to specify autoStartup behaviour.public final int size()
size in interface HeaderChannelRegistryprotected void onInit()
throws Exception
IntegrationObjectSupportonInit in class IntegrationObjectSupportException - Any exception.public void stop(Runnable callback)
stop in interface SmartLifecyclepublic Object channelToChannelName(Object channel)
HeaderChannelRegistryMessageChannel, it is returned unchanged.channelToChannelName in interface HeaderChannelRegistrychannel - The channel.public Object channelToChannelName(Object channel, long timeToLive)
HeaderChannelRegistryMessageChannel, it is returned unchanged.channelToChannelName in interface HeaderChannelRegistrychannel - The channel.timeToLive - How long (ms) at a minimum, the channel mapping should
remain in the registry.public MessageChannel channelNameToChannel(String name)
HeaderChannelRegistryMessageChannel (if it is
registered).channelNameToChannel in interface HeaderChannelRegistryname - The name of the channel.public void runReaper()
runReaper in interface HeaderChannelRegistry