Class AmqpClientMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.amqp.outbound.AmqpClientMessageHandler
- All Implemented Interfaces:
- org.reactivestreams.Subscriber<Message<?>>,- Aware,- BeanClassLoaderAware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- Ordered,- ComponentSourceAware,- ExpressionCapable,- Orderable,- MessageProducer,- HeaderPropagationAware,- IntegrationPattern,- NamedComponent,- IntegrationManagement,- TrackableComponent,- MessageHandler,- reactor.core.CoreSubscriber<Message<?>>
An 
AbstractReplyProducingMessageHandler implementation for AMQP 1.0 client.
 
 With the AbstractReplyProducingMessageHandler.setRequiresReply(boolean) configured as true, this message handler
 behaves as a gateway - the RPC over AMQP.
 In this case, when replyPayloadTypeExpression is provided,
 the messageConverter must be an instance of SmartMessageConverter.
 
 This handler is async by default.
 
In async mode, the error is sent to the error channel even if not in a gateway mode.
 The exchangeExpression, routingKeyExpression and queueExpression
 are optional.
 In this case they have to be supplied by the AsyncAmqpTemplate.
- Since:
- 7.0
- Author:
- Artem Bilan
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandlerAbstractReplyProducingMessageHandler.RequestHandlerNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandlermessagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupportEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructorsConstructorDescriptionAmqpClientMessageHandler(AsyncAmqpTemplate amqpTemplate) Construct an instance with the providedAsyncAmqpTemplate.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoInit()protected @Nullable ObjecthandleRequestMessage(Message<?> requestMessage) Subclasses must implement this method to handle the request Message.voidsetExchange(String exchange) voidsetExchangeExpression(Expression exchangeExpression) voidsetExchangeExpressionString(String exchangeExpression) voidsetHeaderMapper(AmqpHeaderMapper headerMapper) voidsetMessageConverter(MessageConverter messageConverter) voidvoidsetQueueExpression(Expression queueExpression) voidsetQueueExpressionString(String queueExpression) voidsetReplyPayloadType(Class<?> replyPayloadType) Set the reply payload type.voidsetReplyPayloadType(ResolvableType replyPayloadType) Set the reply payload type.voidsetReplyPayloadTypeExpression(Expression replyPayloadTypeExpression) Set a SpEL expression for the reply payload type.voidsetReplyPayloadTypeExpressionString(String replyPayloadTypeExpression) Set a SpEL expression for the reply payload type.voidsetReturnMessage(boolean returnMessage) Set to true to return the reply as a whole AMQP message.voidsetRoutingKey(String routingKey) voidsetRoutingKeyExpression(Expression routingKeyExpression) voidsetRoutingKeyExpressionString(String routingKeyExpression) Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandlerdoInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandleraddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandlerhandleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupportbuildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupportafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscribercurrentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementgetThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponentgetBeanName, getComponentName
- 
Constructor Details- 
AmqpClientMessageHandlerConstruct an instance with the providedAsyncAmqpTemplate. TheAsyncAmqpTemplatemust be an implementation for AMQP 1.0 protocol, e.g.RabbitAmqpTemplate.- Parameters:
- amqpTemplate- the- AsyncAmqpTemplateto use.
 
 
- 
- 
Method Details- 
setHeaderMapper
- 
setMessageConverter
- 
setExchange
- 
setExchangeExpressionString
- 
setExchangeExpression
- 
setRoutingKey
- 
setRoutingKeyExpressionString
- 
setRoutingKeyExpression
- 
setQueue
- 
setQueueExpressionString
- 
setQueueExpression
- 
setReplyPayloadTypeSet the reply payload type. Used only ifAbstractReplyProducingMessageHandler.setRequiresReply(boolean)istrue.- Parameters:
- replyPayloadType- the reply payload type.
 
- 
setReplyPayloadTypeSet the reply payload type. Used only ifAbstractReplyProducingMessageHandler.setRequiresReply(boolean)istrue.- Parameters:
- replyPayloadType- the reply payload type.
 
- 
setReplyPayloadTypeExpressionStringSet a SpEL expression for the reply payload type. Used only ifAbstractReplyProducingMessageHandler.setRequiresReply(boolean)istrue. Must be evaluated to aClassorResolvableType.- Parameters:
- replyPayloadTypeExpression- the expression for a reply payload type.
 
- 
setReplyPayloadTypeExpressionSet a SpEL expression for the reply payload type. Used only ifAbstractReplyProducingMessageHandler.setRequiresReply(boolean)istrue. Must be evaluated to aClassorResolvableType.- Parameters:
- replyPayloadTypeExpression- the expression for a reply payload type.
 
- 
setReturnMessagepublic void setReturnMessage(boolean returnMessage) Set to true to return the reply as a whole AMQP message. Used only in the gateway mode.- Parameters:
- returnMessage- true to return the reply as a whole AMQP message.
 
- 
getComponentType- Specified by:
- getComponentTypein interface- NamedComponent
- Overrides:
- getComponentTypein class- MessageHandlerSupport
 
- 
doInitprotected void doInit()- Overrides:
- doInitin class- AbstractReplyProducingMessageHandler
 
- 
handleRequestMessageDescription copied from class:AbstractReplyProducingMessageHandlerSubclasses must implement this method to handle the request Message. The return value may be a Message, a MessageBuilder, or any plain Object. The base class will handle the final creation of a reply Message from any of those starting points. If the return value is null, the Message flow will end here.- Specified by:
- handleRequestMessagein class- AbstractReplyProducingMessageHandler
- Parameters:
- requestMessage- The request message.
- Returns:
- The result of handling the message, or null.
 
 
-