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<org.springframework.messaging.Message<?>>, org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback, org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback, org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnsCallback, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, 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.context.Lifecycle, org.springframework.core.Ordered, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.context.Orderable, org.springframework.integration.core.MessageProducer, org.springframework.integration.handler.HeaderPropagationAware, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.ManageableLifecycle, org.springframework.integration.support.management.TrackableComponent, org.springframework.messaging.MessageHandler, reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>

public class AmqpOutboundEndpoint
extends AbstractAmqpOutboundEndpoint
implements org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback, org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnsCallback
Adapter that converts and sends Messages to an AMQP Exchange.
Since:
2.1
  • Constructor Details

    • AmqpOutboundEndpoint

      public AmqpOutboundEndpoint​(org.springframework.amqp.core.AmqpTemplate amqpTemplate)
  • Method Details

    • setExpectReply

      public void setExpectReply​(boolean expectReply)
      Set to true if this endpoint is a gateway.
      Parameters:
      expectReply - true for a gateway.
    • setWaitForConfirm

      public 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:
      AbstractAmqpOutboundEndpoint.setConfirmTimeout(long), setMultiSend(boolean)
    • getComponentType

      public java.lang.String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
      Overrides:
      getComponentType in class org.springframework.integration.handler.MessageHandlerSupport
    • setMultiSend

      public void setMultiSend​(boolean multiSend)
      If true, and the message payload is an Iterable of Message, 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:
      setWaitForConfirm(boolean)
    • getIntegrationPatternType

      public org.springframework.integration.IntegrationPatternType getIntegrationPatternType()
      Specified by:
      getIntegrationPatternType in interface org.springframework.integration.IntegrationPattern
      Overrides:
      getIntegrationPatternType in class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
    • getRabbitTemplate

      public org.springframework.amqp.rabbit.core.RabbitTemplate getRabbitTemplate()
      Specified by:
      getRabbitTemplate in class AbstractAmqpOutboundEndpoint
    • endpointInit

      protected void endpointInit()
      Description copied from class: AbstractAmqpOutboundEndpoint
      Subclasses can override to perform any additional initialization. Called from afterPropertiesSet().
      Overrides:
      endpointInit in class AbstractAmqpOutboundEndpoint
    • doStop

      protected void doStop()
      Overrides:
      doStop in class AbstractAmqpOutboundEndpoint
    • handleRequestMessage

      protected java.lang.Object handleRequestMessage​(org.springframework.messaging.Message<?> requestMessage)
      Specified by:
      handleRequestMessage in class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
    • confirm

      public void confirm​(org.springframework.amqp.rabbit.connection.CorrelationData correlationData, boolean ack, java.lang.String cause)
      Specified by:
      confirm in interface org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback
    • returnedMessage

      public void returnedMessage​(org.springframework.amqp.core.ReturnedMessage returnedMessage)
      Specified by:
      returnedMessage in interface org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback
      Specified by:
      returnedMessage in interface org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnsCallback