public abstract class AbstractPollableChannel extends AbstractMessageChannel implements PollableChannel, ExecutorChannelInterceptorAware
AbstractMessageChannel.ChannelInterceptorList
IntegrationManagement.ManagementOverrides
interceptors, meters
EXPRESSION_PARSER, logger
INDEFINITE_TIMEOUT
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Constructor and Description |
---|
AbstractPollableChannel() |
Modifier and Type | Method and Description |
---|---|
void |
addInterceptor(ChannelInterceptor interceptor)
Add a channel interceptor to the end of the list.
|
void |
addInterceptor(int index,
ChannelInterceptor interceptor)
Add a channel interceptor to the specified index of the list.
|
protected abstract Message<?> |
doReceive(long timeout)
Subclasses must implement this method.
|
IntegrationPatternType |
getIntegrationPatternType()
Return a pattern type this component implements.
|
boolean |
hasExecutorInterceptors() |
Message<?> |
receive()
Receive the first available message from this channel.
|
Message<?> |
receive(long timeout)
Receive the first available message from this channel.
|
boolean |
removeInterceptor(ChannelInterceptor interceptor) |
ChannelInterceptor |
removeInterceptor(int index) |
void |
setInterceptors(List<ChannelInterceptor> interceptors)
Set the list of channel interceptors.
|
destroy, doSend, getComponentType, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMetricsCaptor, getOverrides, isLoggingEnabled, onInit, registerMetricsCaptor, send, send, setDatatypes, setLoggingEnabled, setMessageConverter, setShouldTrack
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
send, send
getInterceptors
getManagedName, getManagedType, getThisAs, setManagedName, setManagedType
getBeanName, getComponentName
public IntegrationPatternType getIntegrationPatternType()
IntegrationPattern
getIntegrationPatternType
in interface IntegrationPattern
getIntegrationPatternType
in class AbstractMessageChannel
IntegrationPatternType
this component implements.@Nullable public Message<?> receive()
receive
in interface PollableChannel
null
if the
receiving thread is interrupted.@Nullable public Message<?> receive(long timeout)
receive()
).receive
in interface PollableChannel
timeout
- the timeout in millisecondsnull
if no message
is available within the allotted time or the receiving thread is
interrupted.public void setInterceptors(List<ChannelInterceptor> interceptors)
AbstractMessageChannel
setInterceptors
in interface InterceptableChannel
setInterceptors
in class AbstractMessageChannel
interceptors
- The list of interceptors.public void addInterceptor(ChannelInterceptor interceptor)
AbstractMessageChannel
addInterceptor
in interface InterceptableChannel
addInterceptor
in class AbstractMessageChannel
interceptor
- The interceptor.public void addInterceptor(int index, ChannelInterceptor interceptor)
AbstractMessageChannel
addInterceptor
in interface InterceptableChannel
addInterceptor
in class AbstractMessageChannel
index
- The index to add interceptor.interceptor
- The interceptor.public boolean removeInterceptor(ChannelInterceptor interceptor)
removeInterceptor
in interface InterceptableChannel
removeInterceptor
in class AbstractMessageChannel
@Nullable public ChannelInterceptor removeInterceptor(int index)
removeInterceptor
in interface InterceptableChannel
removeInterceptor
in class AbstractMessageChannel
public boolean hasExecutorInterceptors()
hasExecutorInterceptors
in interface ExecutorChannelInterceptorAware
@Nullable protected abstract Message<?> doReceive(long timeout)
timeout
- The timeout.