Spring Integration

org.springframework.integration.amqp.outbound
Class AmqpOutboundEndpoint

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.handler.AbstractReplyProducingMessageHandler
              extended by org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint
All Implemented Interfaces:
org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback, org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, NamedComponent, Orderable, MessageHandler, MessageProducer, TrackableComponent

public class AmqpOutboundEndpoint
extends AbstractReplyProducingMessageHandler
implements org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback, org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback

Adapter that converts and sends Messages to an AMQP Exchange.

Since:
2.1
Author:
Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandler
 
Field Summary
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
AmqpOutboundEndpoint(org.springframework.amqp.core.AmqpTemplate amqpTemplate)
           
 
Method Summary
 void confirm(org.springframework.amqp.rabbit.support.CorrelationData correlationData, boolean ack)
           
 java.lang.String getComponentType()
          Subclasses may implement this method to provide component type information.
protected  java.lang.Object handleRequestMessage(Message<?> requestMessage)
          Subclasses must implement this method to handle the request Message.
protected  void onInit()
          Subclasses may implement this for initialization logic.
 void returnedMessage(org.springframework.amqp.core.Message message, int replyCode, java.lang.String replyText, java.lang.String exchange, java.lang.String routingKey)
           
 void setConfirmAckChannel(MessageChannel ackChannel)
           
 void setConfirmCorrelationExpression(java.lang.String confirmCorrelationExpression)
           
 void setConfirmNackChannel(MessageChannel nackChannel)
           
 void setExchangeName(java.lang.String exchangeName)
           
 void setExchangeNameExpression(java.lang.String exchangeNameExpression)
           
 void setExpectReply(boolean expectReply)
           
 void setHeaderMapper(AmqpHeaderMapper headerMapper)
           
 void setReturnChannel(MessageChannel returnChannel)
           
 void setRoutingKey(java.lang.String routingKey)
           
 void setRoutingKeyExpression(java.lang.String routingKeyExpression)
           
 
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
getMessagingTemplate, handleMessageInternal, setAdviceChain, setBeanClassLoader, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getOrder, handleMessage, setOrder, setShouldTrack
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Constructor Detail

AmqpOutboundEndpoint

public AmqpOutboundEndpoint(org.springframework.amqp.core.AmqpTemplate amqpTemplate)
Method Detail

onInit

protected void onInit()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this for initialization logic.

Overrides:
onInit in class AbstractReplyProducingMessageHandler

setHeaderMapper

public void setHeaderMapper(AmqpHeaderMapper headerMapper)

setExchangeName

public void setExchangeName(java.lang.String exchangeName)

setExchangeNameExpression

public void setExchangeNameExpression(java.lang.String exchangeNameExpression)

setRoutingKey

public void setRoutingKey(java.lang.String routingKey)

setRoutingKeyExpression

public void setRoutingKeyExpression(java.lang.String routingKeyExpression)

setExpectReply

public void setExpectReply(boolean expectReply)

setConfirmCorrelationExpression

public void setConfirmCorrelationExpression(java.lang.String confirmCorrelationExpression)

setConfirmAckChannel

public void setConfirmAckChannel(MessageChannel ackChannel)

setConfirmNackChannel

public void setConfirmNackChannel(MessageChannel nackChannel)

setReturnChannel

public void setReturnChannel(MessageChannel returnChannel)

getComponentType

public java.lang.String getComponentType()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this method to provide component type information.

Specified by:
getComponentType in interface NamedComponent
Overrides:
getComponentType in class AbstractMessageHandler

handleRequestMessage

protected java.lang.Object handleRequestMessage(Message<?> requestMessage)
Description copied from class: AbstractReplyProducingMessageHandler
Subclasses 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:
handleRequestMessage in class AbstractReplyProducingMessageHandler

confirm

public void confirm(org.springframework.amqp.rabbit.support.CorrelationData correlationData,
                    boolean ack)
Specified by:
confirm in interface org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback

returnedMessage

public void returnedMessage(org.springframework.amqp.core.Message message,
                            int replyCode,
                            java.lang.String replyText,
                            java.lang.String exchange,
                            java.lang.String routingKey)
Specified by:
returnedMessage in interface org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback

Spring Integration