Class AmqpOutboundEndpoint
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.AbstractAmqpOutboundEndpoint
org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint
- All Implemented Interfaces:
- org.reactivestreams.Subscriber<Message<?>>,- RabbitTemplate.ConfirmCallback,- RabbitTemplate.ReturnsCallback,- Aware,- BeanClassLoaderAware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- Lifecycle,- Ordered,- ExpressionCapable,- Orderable,- MessageProducer,- HeaderPropagationAware,- IntegrationPattern,- NamedComponent,- IntegrationManagement,- ManageableLifecycle,- TrackableComponent,- MessageHandler,- reactor.core.CoreSubscriber<Message<?>>
public class AmqpOutboundEndpoint
extends AbstractAmqpOutboundEndpoint
implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnsCallback
Adapter that converts and sends Messages to an AMQP Exchange.
- Since:
- 2.1
- Author:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.integration.amqp.outbound.AbstractAmqpOutboundEndpointAbstractAmqpOutboundEndpoint.CorrelationDataWrapperNested 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 SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidconfirm(CorrelationData correlationData, boolean ack, String cause) protected voiddoStop()protected voidSubclasses can override to perform any additional initialization.Subclasses may implement this method to provide component type information.Return a pattern type this component implements.protected ObjecthandleRequestMessage(Message<?> requestMessage) Subclasses must implement this method to handle the request Message.voidreturnedMessage(ReturnedMessage returnedMessage) voidsetExpectReply(boolean expectReply) Set to true if this endpoint is a gateway.voidsetMultiSend(boolean multiSend) voidsetWaitForConfirm(boolean waitForConfirm) Set to true if you want to block the calling thread until a publisher confirm has been received.Methods inherited from class org.springframework.integration.amqp.outbound.AbstractAmqpOutboundEndpointaddDelayProperty, buildReply, buildReturnedMessage, doInit, doStart, generateCorrelationData, generateExchangeName, generateRoutingKey, getConfirmAckChannel, getConfirmCorrelationExpression, getConfirmNackChannel, getConfirmTimeout, getCorrelationDataGenerator, getDefaultDeliveryMode, getExchangeName, getExchangeNameExpression, getExchangeNameGenerator, getHeaderMapper, getReturnChannel, getRoutingKey, getRoutingKeyExpression, getRoutingKeyGenerator, handleConfirm, isHeadersMappedLast, isLazyConnect, isRunning, setConfirmAckChannel, setConfirmAckChannelName, setConfirmCorrelationExpression, setConfirmCorrelationExpressionString, setConfirmNackChannel, setConfirmNackChannelName, setConfirmTimeout, setConnectionFactory, setDefaultDeliveryMode, setDelay, setDelayExpression, setDelayExpressionString, setErrorMessageStrategy, setExchangeName, setExchangeNameExpression, setExchangeNameExpressionString, setHeaderMapper, setHeadersMappedLast, setLazyConnect, setReturnChannel, setRoutingKey, setRoutingKeyExpression, setRoutingKeyExpressionString, start, stopMethods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandlerdoInvokeAdvisedRequestHandler, getBeanClassLoader, 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, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, 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- 
AmqpOutboundEndpoint
 
- 
- 
Method Details- 
setExpectReplypublic void setExpectReply(boolean expectReply) Set to true if this endpoint is a gateway.- Parameters:
- expectReply- true for a gateway.
 
- 
setWaitForConfirmpublic void setWaitForConfirm(boolean waitForConfirm) Set to true if you want to block the calling thread until a publisher confirm has been received. Requires a template configured for returns. If a confirm is not received within the confirm timeout or a negative acknowledgment or returned message is received, an exception will be thrown. Does not apply to the gateway since it blocks awaiting the reply.- Parameters:
- waitForConfirm- true to block until the confirmation or timeout is received.
- Since:
- 5.2
- See Also:
 
- 
getComponentTypeDescription copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
- getComponentTypein interface- NamedComponent
- Overrides:
- getComponentTypein class- MessageHandlerSupport
 
- 
setMultiSendpublic void setMultiSend(boolean multiSend) If true, and the message payload is anIterableofMessage, send the messages in a single invocation of the template (same channel) and optionally wait for the confirms or die or perform all sends within a transaction (existing or new).- Parameters:
- multiSend- true to send multiple messages.
- Since:
- 5.3
- See Also:
 
- 
getIntegrationPatternTypeDescription copied from interface:IntegrationPatternReturn a pattern type this component implements.- Specified by:
- getIntegrationPatternTypein interface- IntegrationPattern
- Overrides:
- getIntegrationPatternTypein class- AbstractReplyProducingMessageHandler
- Returns:
- the IntegrationPatternTypethis component implements.
 
- 
getRabbitTemplate- Specified by:
- getRabbitTemplatein class- AbstractAmqpOutboundEndpoint
 
- 
endpointInitprotected void endpointInit()Description copied from class:AbstractAmqpOutboundEndpointSubclasses can override to perform any additional initialization. Called from afterPropertiesSet().- Overrides:
- endpointInitin class- AbstractAmqpOutboundEndpoint
 
- 
doStopprotected void doStop()- Overrides:
- doStopin class- AbstractAmqpOutboundEndpoint
 
- 
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.
 
- 
confirm- Specified by:
- confirmin interface- RabbitTemplate.ConfirmCallback
 
- 
returnedMessage- Specified by:
- returnedMessagein interface- RabbitTemplate.ReturnsCallback
 
 
-