Class PollableAmqpChannel
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.amqp.channel.AbstractAmqpChannel
org.springframework.integration.amqp.channel.PollableAmqpChannel
- All Implemented Interfaces:
org.springframework.amqp.rabbit.connection.ConnectionListener,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.integration.channel.ExecutorChannelInterceptorAware,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageChannel,org.springframework.messaging.PollableChannel,org.springframework.messaging.support.InterceptableChannel
public class PollableAmqpChannel
extends AbstractAmqpChannel
implements org.springframework.messaging.PollableChannel, org.springframework.integration.channel.ExecutorChannelInterceptorAware
A
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.- Since:
- 2.1
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractMessageChannel.ChannelInterceptorListNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.channel.AbstractMessageChannel
interceptors, metersFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.messaging.MessageChannel
INDEFINITE_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionPollableAmqpChannel(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 aRabbitTemplateand the message is mapped.PollableAmqpChannel(String channelName, org.springframework.amqp.core.AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper) Construct an instance with the supplied name, template and header mappers. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddInterceptor(int index, org.springframework.messaging.support.ChannelInterceptor interceptor) voidaddInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor) protected voidprotected org.springframework.messaging.Message<?>protected StringSubclasses may override this method to return a routing key.booleanprotected voidonInit()protected ObjectperformReceive(Long timeout) org.springframework.messaging.Message<?>receive()org.springframework.messaging.Message<?>receive(long timeout) org.springframework.messaging.support.ChannelInterceptorremoveInterceptor(int index) booleanremoveInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor) voidsetAmqpAdmin(org.springframework.amqp.core.AmqpAdmin amqpAdmin) Provide an instance of AmqpAdmin for implicitly declaring Queues if the queueName is not provided.voidsetInterceptors(List<org.springframework.messaging.support.ChannelInterceptor> interceptors) voidsetQueueName(String queueName) Provide an explicitly configured queue name.Methods inherited from class org.springframework.integration.amqp.channel.AbstractAmqpChannel
destroy, doSend, getAdmin, getAmqpTemplate, getConnectionFactory, getExchangeName, getInboundHeaderMapper, getRabbitTemplate, isExtractPayload, isLoggingEnabled, onClose, onCreate, setAdmin, setConnectionFactory, setDefaultDeliveryMode, setExtractPayload, setHeadersMappedLast, setLoggingEnabledMethods inherited from class org.springframework.integration.channel.AbstractMessageChannel
getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, registerMetricsCaptor, send, send, setDatatypes, setMessageConverter, setShouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.amqp.rabbit.connection.ConnectionListener
onFailed, onShutDownMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getManagedName, getManagedType, getThisAs, registerObservationRegistry, setManagedName, setManagedTypeMethods inherited from interface org.springframework.messaging.support.InterceptableChannel
getInterceptorsMethods inherited from interface org.springframework.messaging.MessageChannel
send, sendMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
PollableAmqpChannel
public PollableAmqpChannel(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 aRabbitTemplateand the message is mapped.- Parameters:
channelName- the channel name.amqpTemplate- the template.- See Also:
-
PollableAmqpChannel
public PollableAmqpChannel(String channelName, org.springframework.amqp.core.AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper) Construct an instance with the supplied name, template and header mappers.- Parameters:
channelName- the channel name.amqpTemplate- the template.outboundMapper- the outbound mapper.inboundMapper- the inbound mapper.- Since:
- 4.3
- See Also:
-
-
Method Details
-
setQueueName
Provide an explicitly configured queue name. If this is not provided, then a Queue will be created implicitly with the channelName as its name. The implicit creation will require that either an AmqpAdmin instance has been provided or that the configured AmqpTemplate is an instance of RabbitTemplate.- Parameters:
queueName- The queue name.
-
setAmqpAdmin
public void setAmqpAdmin(org.springframework.amqp.core.AmqpAdmin amqpAdmin) Provide an instance of AmqpAdmin for implicitly declaring Queues if the queueName is not provided. When providing a RabbitTemplate implementation, this is not strictly necessary since a RabbitAdmin instance can be created from the template's ConnectionFactory reference.- Parameters:
amqpAdmin- The amqp admin.
-
getRoutingKey
Description copied from class:AbstractAmqpChannelSubclasses may override this method to return a routing key. By default, there will be no routing key (empty string).- Overrides:
getRoutingKeyin classAbstractAmqpChannel- Returns:
- The routing key.
-
onInit
protected void onInit()- Overrides:
onInitin classAbstractAmqpChannel
-
doDeclares
protected void doDeclares()- Specified by:
doDeclaresin classAbstractAmqpChannel
-
receive
@Nullable public org.springframework.messaging.Message<?> receive()- Specified by:
receivein interfaceorg.springframework.messaging.PollableChannel
-
receive
@Nullable public org.springframework.messaging.Message<?> receive(long timeout) - Specified by:
receivein interfaceorg.springframework.messaging.PollableChannel
-
doReceive
-
performReceive
-
setInterceptors
public void setInterceptors(List<org.springframework.messaging.support.ChannelInterceptor> interceptors) - Specified by:
setInterceptorsin interfaceorg.springframework.messaging.support.InterceptableChannel- Overrides:
setInterceptorsin classorg.springframework.integration.channel.AbstractMessageChannel
-
addInterceptor
public void addInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor) - Specified by:
addInterceptorin interfaceorg.springframework.messaging.support.InterceptableChannel- Overrides:
addInterceptorin classorg.springframework.integration.channel.AbstractMessageChannel
-
addInterceptor
public void addInterceptor(int index, org.springframework.messaging.support.ChannelInterceptor interceptor) - Specified by:
addInterceptorin interfaceorg.springframework.messaging.support.InterceptableChannel- Overrides:
addInterceptorin classorg.springframework.integration.channel.AbstractMessageChannel
-
removeInterceptor
public boolean removeInterceptor(org.springframework.messaging.support.ChannelInterceptor interceptor) - Specified by:
removeInterceptorin interfaceorg.springframework.messaging.support.InterceptableChannel- Overrides:
removeInterceptorin classorg.springframework.integration.channel.AbstractMessageChannel
-
removeInterceptor
@Nullable public org.springframework.messaging.support.ChannelInterceptor removeInterceptor(int index) - Specified by:
removeInterceptorin interfaceorg.springframework.messaging.support.InterceptableChannel- Overrides:
removeInterceptorin classorg.springframework.integration.channel.AbstractMessageChannel
-
hasExecutorInterceptors
public boolean hasExecutorInterceptors()- Specified by:
hasExecutorInterceptorsin interfaceorg.springframework.integration.channel.ExecutorChannelInterceptorAware
-