public abstract class AbstractPollableChannel extends AbstractMessageChannel implements PollableChannel, PollableChannelManagement, 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.
|
int |
getReceiveCount() |
long |
getReceiveCountLong() |
int |
getReceiveErrorCount() |
long |
getReceiveErrorCountLong() |
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.
|
configureMetrics, destroy, doSend, getComponentType, getErrorRate, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMaxSendDuration, getMeanErrorRate, getMeanErrorRatio, getMeanSendDuration, getMeanSendRate, getMetrics, getMetricsCaptor, getMinSendDuration, getOverrides, getSendCount, getSendCountLong, getSendDuration, getSendErrorCount, getSendErrorCountLong, getSendRate, getStandardDeviationSendDuration, getTimeSinceLastSend, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onInit, registerMetricsCaptor, reset, send, send, setCountsEnabled, setDatatypes, setLoggingEnabled, setMessageConverter, setShouldTrack, setStatsEnabled
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
receiveCount, receiveErrorCount
isStatsEnabled, setStatsEnabled
destroy, getOverrides, isCountsEnabled, isLoggingEnabled, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled
getChannelInterceptors
getInterceptors
getBeanName, getComponentName
sendCount, sendErrorCount
public int getReceiveCount()
getReceiveCount
in interface PollableChannelManagement
public long getReceiveCountLong()
getReceiveCountLong
in interface PollableChannelManagement
public int getReceiveErrorCount()
getReceiveErrorCount
in interface PollableChannelManagement
public long getReceiveErrorCountLong()
getReceiveErrorCountLong
in interface PollableChannelManagement
@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.