public class PollableAmqpChannel extends AbstractAmqpChannel implements org.springframework.messaging.PollableChannel, PollableChannelManagement, ExecutorChannelInterceptorAware
PollableChannel
implementation that is backed by an AMQP Queue.
Messages will be sent to the default (no-name) exchange with that Queue's
name as the routing key.AbstractMessageChannel.ChannelInterceptorList
IntegrationManagement.ManagementOverrides
interceptors
EXPRESSION_PARSER, logger
Constructor and Description |
---|
PollableAmqpChannel(java.lang.String channelName,
org.springframework.amqp.core.AmqpTemplate amqpTemplate)
Construct an instance with the supplied name, template and default header mappers
used if the template is a
RabbitTemplate and the message is mapped. |
PollableAmqpChannel(java.lang.String channelName,
org.springframework.amqp.core.AmqpTemplate amqpTemplate,
AmqpHeaderMapper outboundMapper,
AmqpHeaderMapper inboundMapper)
Construct an instance with the supplied name, template and header mappers.
|
Modifier and Type | Method and Description |
---|---|
void |
addInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor)
Add a channel interceptor to the end of the list.
|
void |
addInterceptor(int index,
org.springframework.messaging.support.ChannelInterceptor interceptor)
Add a channel interceptor to the specified index of the list.
|
protected void |
doDeclares() |
protected org.springframework.messaging.Message<?> |
doReceive(java.lang.Long timeout) |
int |
getReceiveCount() |
long |
getReceiveCountLong() |
int |
getReceiveErrorCount() |
long |
getReceiveErrorCountLong() |
protected java.lang.String |
getRoutingKey()
Subclasses may override this method to return a routing key.
|
boolean |
hasExecutorInterceptors() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected java.lang.Object |
performReceive(java.lang.Long timeout) |
org.springframework.messaging.Message<?> |
receive() |
org.springframework.messaging.Message<?> |
receive(long timeout) |
boolean |
removeInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor)
Remove the provided
ChannelInterceptor from the target implementation. |
org.springframework.messaging.support.ChannelInterceptor |
removeInterceptor(int index)
Remove a
ChannelInterceptor from the target implementation for specific index. |
void |
setAmqpAdmin(org.springframework.amqp.core.AmqpAdmin amqpAdmin)
Provide an instance of AmqpAdmin for implicitly declaring Queues if the queueName is not provided.
|
void |
setInterceptors(java.util.List<org.springframework.messaging.support.ChannelInterceptor> interceptors)
Set the list of channel interceptors.
|
void |
setQueueName(java.lang.String queueName)
Provide an explicitly configured queue name.
|
destroy, doSend, getAdmin, getAmqpTemplate, getConnectionFactory, getExchangeName, getInboundHeaderMapper, getRabbitTemplate, isExtractPayload, isLoggingEnabled, onClose, onCreate, setAdmin, setConnectionFactory, setDefaultDeliveryMode, setExtractPayload, setHeadersMappedLast, setLoggingEnabled
configureMetrics, getChannelInterceptors, getComponentType, getErrorRate, getFullChannelName, getInterceptors, getMaxSendDuration, getMeanErrorRate, getMeanErrorRatio, getMeanSendDuration, getMeanSendRate, getMetrics, getMinSendDuration, getOverrides, getSendCount, getSendCountLong, getSendDuration, getSendErrorCount, getSendErrorCountLong, getSendRate, getStandardDeviationSendDuration, getTimeSinceLastSend, isCountsEnabled, isStatsEnabled, reset, send, send, setCountsEnabled, setDatatypes, setMessageConverter, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getErrorRate, getMaxSendDuration, getMeanErrorRate, getMeanErrorRatio, getMeanSendDuration, getMeanSendRate, getMinSendDuration, getSendCount, getSendCountLong, getSendDuration, getSendErrorCount, getSendErrorCountLong, getSendRate, getStandardDeviationSendDuration, getTimeSinceLastSend
isStatsEnabled, setStatsEnabled
getOverrides, isCountsEnabled, isLoggingEnabled, reset, setCountsEnabled, setLoggingEnabled
getChannelInterceptors
onShutDown
getComponentName
public PollableAmqpChannel(java.lang.String channelName, org.springframework.amqp.core.AmqpTemplate amqpTemplate)
RabbitTemplate
and the message is mapped.channelName
- the channel name.amqpTemplate
- the template.AbstractAmqpChannel.setExtractPayload(boolean)
public PollableAmqpChannel(java.lang.String channelName, org.springframework.amqp.core.AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper)
channelName
- the channel name.amqpTemplate
- the template.outboundMapper
- the outbound mapper.inboundMapper
- the inbound mapper.AbstractAmqpChannel.setExtractPayload(boolean)
public void setQueueName(java.lang.String queueName)
queueName
- The queue name.public void setAmqpAdmin(org.springframework.amqp.core.AmqpAdmin amqpAdmin)
amqpAdmin
- The amqp admin.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
protected java.lang.String getRoutingKey()
AbstractAmqpChannel
getRoutingKey
in class AbstractAmqpChannel
protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class AbstractAmqpChannel
java.lang.Exception
- Any exception.protected void doDeclares()
doDeclares
in class AbstractAmqpChannel
public org.springframework.messaging.Message<?> receive()
receive
in interface org.springframework.messaging.PollableChannel
public org.springframework.messaging.Message<?> receive(long timeout)
receive
in interface org.springframework.messaging.PollableChannel
protected org.springframework.messaging.Message<?> doReceive(java.lang.Long timeout)
protected java.lang.Object performReceive(java.lang.Long timeout)
public void setInterceptors(java.util.List<org.springframework.messaging.support.ChannelInterceptor> interceptors)
AbstractMessageChannel
setInterceptors
in interface ChannelInterceptorAware
setInterceptors
in class AbstractMessageChannel
interceptors
- The list of interceptors.public void addInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor)
AbstractMessageChannel
addInterceptor
in interface ChannelInterceptorAware
addInterceptor
in class AbstractMessageChannel
interceptor
- The interceptor.public void addInterceptor(int index, org.springframework.messaging.support.ChannelInterceptor interceptor)
AbstractMessageChannel
addInterceptor
in interface ChannelInterceptorAware
addInterceptor
in class AbstractMessageChannel
index
- The index to add interceptor.interceptor
- The interceptor.public boolean removeInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor)
ChannelInterceptorAware
ChannelInterceptor
from the target implementation.removeInterceptor
in interface ChannelInterceptorAware
removeInterceptor
in class AbstractMessageChannel
interceptor
- ChannelInterceptor
to remove.boolean
if ChannelInterceptor
has been removed.public org.springframework.messaging.support.ChannelInterceptor removeInterceptor(int index)
ChannelInterceptorAware
ChannelInterceptor
from the target implementation for specific index.removeInterceptor
in interface ChannelInterceptorAware
removeInterceptor
in class AbstractMessageChannel
index
- the index for the ChannelInterceptor
to remove.boolean
if the ChannelInterceptor
has been removed.public boolean hasExecutorInterceptors()
hasExecutorInterceptors
in interface ExecutorChannelInterceptorAware