Class AmqpInboundChannelAdapter
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter
- All Implemented Interfaces:
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.beans.factory.SmartInitializingSingleton,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle,org.springframework.context.Phased,org.springframework.context.SmartLifecycle,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.OrderlyShutdownCapable,org.springframework.integration.core.MessageProducer,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.ManageableLifecycle,org.springframework.integration.support.management.ManageableSmartLifecycle,org.springframework.integration.support.management.TrackableComponent
public class AmqpInboundChannelAdapter
extends org.springframework.integration.endpoint.MessageProducerSupport
implements org.springframework.integration.context.OrderlyShutdownCapable
Adapter that receives Messages from an AMQP Queue, converts them into
Spring Integration Messages, and sends the results to a Message Channel.
- Since:
- 2.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classstatic enumDefines the payload type when the listener container is configured with consumerBatchEnabled.protected class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringHeader containingList<Map<String, Object>headers when batch mode isAmqpInboundChannelAdapter.BatchMode.EXTRACT_PAYLOADS_WITH_HEADERS.Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
lifecycleCondition, lifecycleLockFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
ConstructorsConstructorDescriptionAmqpInboundChannelAdapter(org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer listenerContainer) AmqpInboundChannelAdapter(org.springframework.amqp.rabbit.listener.MessageListenerContainer listenerContainer) Construct an instance using the provided container. -
Method Summary
Modifier and TypeMethodDescriptionintintprotected voiddoStart()protected voiddoStop()protected org.springframework.core.AttributeAccessorgetErrorMessageAttributes(org.springframework.messaging.Message<?> message) protected voidonInit()voidsetBatchingStrategy(org.springframework.amqp.rabbit.batch.BatchingStrategy batchingStrategy) Set a batching strategy to use when de-batching messages created by a batching producer (such as the BatchingRabbitTemplate).voidsetBatchMode(AmqpInboundChannelAdapter.BatchMode batchMode) When the listener container is configured with consumerBatchEnabled, set the payload type for messages generated for the batches.voidsetBindSourceMessage(boolean bindSourceMessage) Set to true to bind the source message in the header namedIntegrationMessageHeaderAccessor.SOURCE_DATA.voidsetHeaderMapper(AmqpHeaderMapper headerMapper) voidsetMessageConverter(org.springframework.amqp.support.converter.MessageConverter messageConverter) voidsetMessageRecoverer(org.springframework.amqp.rabbit.retry.MessageRecoverer messageRecoverer) Configure aMessageRecovererfor retry operations.voidsetRecoveryCallback(org.springframework.retry.RecoveryCallback<?> recoveryCallback) Set aRecoveryCallbackwhen using retry within the adapter.voidsetRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate) Set aRetryTemplateto use for retrying a message delivery within the adapter.Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
afterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisherMethods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopMethods 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.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Field Details
-
CONSOLIDATED_HEADERS
Header containingList<Map<String, Object>headers when batch mode isAmqpInboundChannelAdapter.BatchMode.EXTRACT_PAYLOADS_WITH_HEADERS.- See Also:
-
-
Constructor Details
-
AmqpInboundChannelAdapter
public AmqpInboundChannelAdapter(org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer listenerContainer) -
AmqpInboundChannelAdapter
public AmqpInboundChannelAdapter(org.springframework.amqp.rabbit.listener.MessageListenerContainer listenerContainer) Construct an instance using the provided container.- Parameters:
listenerContainer- the container.
-
-
Method Details
-
setMessageConverter
public void setMessageConverter(org.springframework.amqp.support.converter.MessageConverter messageConverter) -
setHeaderMapper
-
setRetryTemplate
public void setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate) Set aRetryTemplateto use for retrying a message delivery within the adapter. Unlike adding retry at the container level, this can be used with anErrorMessageSendingRecovererRecoveryCallbackto publish to the error channel after retries are exhausted. You generally should not configure an error channel when using retry here, use aRecoveryCallbackinstead.- Parameters:
retryTemplate- the template.- Since:
- 4.3.10.
- See Also:
-
setRecoveryCallback
public void setRecoveryCallback(org.springframework.retry.RecoveryCallback<?> recoveryCallback) Set aRecoveryCallbackwhen using retry within the adapter. Mutually exclusive withsetMessageRecoverer(MessageRecoverer).- Parameters:
recoveryCallback- the callback.- Since:
- 4.3.10
- See Also:
-
setMessageRecoverer
public void setMessageRecoverer(org.springframework.amqp.rabbit.retry.MessageRecoverer messageRecoverer) Configure aMessageRecovererfor retry operations. A more AMQP-specific convenience instead ofsetRecoveryCallback(RecoveryCallback).- Parameters:
messageRecoverer- theMessageRecovererto use.- Since:
- 5.5
-
setBatchingStrategy
public void setBatchingStrategy(org.springframework.amqp.rabbit.batch.BatchingStrategy batchingStrategy) Set a batching strategy to use when de-batching messages created by a batching producer (such as the BatchingRabbitTemplate). Default isSimpleBatchingStrategy.- Parameters:
batchingStrategy- the strategy.- Since:
- 5.2
-
setBindSourceMessage
public void setBindSourceMessage(boolean bindSourceMessage) Set to true to bind the source message in the header namedIntegrationMessageHeaderAccessor.SOURCE_DATA.- Parameters:
bindSourceMessage- true to bind.- Since:
- 5.1.6
-
setBatchMode
When the listener container is configured with consumerBatchEnabled, set the payload type for messages generated for the batches. Default isAmqpInboundChannelAdapter.BatchMode.MESSAGES.- Parameters:
batchMode- the batch mode.- Since:
- 5.3
-
getComponentType
- Specified by:
getComponentTypein interfaceorg.springframework.integration.support.context.NamedComponent- Overrides:
getComponentTypein classorg.springframework.integration.context.IntegrationObjectSupport
-
onInit
protected void onInit()- Overrides:
onInitin classorg.springframework.integration.endpoint.MessageProducerSupport
-
doStart
protected void doStart()- Overrides:
doStartin classorg.springframework.integration.endpoint.MessageProducerSupport
-
doStop
protected void doStop()- Overrides:
doStopin classorg.springframework.integration.endpoint.MessageProducerSupport
-
beforeShutdown
public int beforeShutdown()- Specified by:
beforeShutdownin interfaceorg.springframework.integration.context.OrderlyShutdownCapable
-
afterShutdown
public int afterShutdown()- Specified by:
afterShutdownin interfaceorg.springframework.integration.context.OrderlyShutdownCapable
-
getErrorMessageAttributes
protected org.springframework.core.AttributeAccessor getErrorMessageAttributes(org.springframework.messaging.Message<?> message) - Overrides:
getErrorMessageAttributesin classorg.springframework.integration.endpoint.MessageProducerSupport
-