Class TestRabbitTemplate
java.lang.Object
org.springframework.amqp.rabbit.connection.RabbitAccessor
org.springframework.amqp.rabbit.core.RabbitTemplate
org.springframework.amqp.rabbit.test.TestRabbitTemplate
- All Implemented Interfaces:
EventListener, AmqpTemplate, MessageListener, PublisherCallbackChannel.Listener, RabbitOperations, ChannelAwareMessageListener, ListenerContainerAware, Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>, Lifecycle
public class TestRabbitTemplate
extends RabbitTemplate
implements ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>
A
RabbitTemplate that invokes @RabbitListener s directly.
It currently only supports the queue name in the routing key.
It does not currently support publisher confirms/returns.- Since:
- 2.0
- Author:
- Gary Russell, Artem Bilan, Christian Tzolov
-
Nested Class Summary
Nested classes/interfaces inherited from class RabbitTemplate
RabbitTemplate.ConfirmCallback, RabbitTemplate.RecoveryCallback, RabbitTemplate.ReturnsCallback, RabbitTemplate.TemplateConsumerNested classes/interfaces inherited from interface RabbitOperations
RabbitOperations.OperationsCallback<T> -
Field Summary
Fields inherited from class RabbitAccessor
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected @Nullable MessagedoSendAndReceiveWithFixed(@Nullable String exchange, @Nullable String routingKey, Message message, @Nullable CorrelationData correlationData) voidprotected voidsendToRabbit(com.rabbitmq.client.Channel channel, String exchange, String routingKey, boolean mandatory, Message message) voidsetApplicationContext(ApplicationContext applicationContext) protected booleanOverride this method use some other criteria to decide whether to use (direct reply-to).Methods inherited from class RabbitTemplate
addAfterReceivePostProcessors, addBeforePublishPostProcessors, addConsumerArg, addListener, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertMessageIfNecessary, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveRaw, correlationConvertAndSend, destroy, doReceiveNoWait, doSend, doSendAndReceive, doSendAndReceiveWithTemporary, doStart, doStop, execute, expectedQueueNames, getAfterReceivePostProcessors, getBeforePublishPostProcessors, getDefaultReceiveQueue, getEncoding, getExchange, getMessageConverter, getMessagePropertiesConverter, getPendingReplyCounter, getRoutingKey, getUnconfirmed, getUnconfirmedCount, getUUID, handleConfirm, handleReturn, initDefaultStrategies, invoke, isChannelLocallyTransacted, isConfirmListener, isMandatoryFor, isReturnListener, isRunning, isUsePublisherConnection, logReceived, nullSafeExchange, nullSafeRoutingKey, observeTheSend, onMessage, receive, receive, receive, receive, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, removeAfterReceivePostProcessor, removeBeforePublishPostProcessor, removeConsumerArg, replyTimedOut, revoke, send, send, send, send, send, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, setAfterReceivePostProcessors, setBeanFactory, setBeanName, setBeforePublishPostProcessors, setConfirmCallback, setConnectionFactory, setCorrelationDataPostProcessor, setCorrelationKey, setDefaultReceiveQueue, setEncoding, setExchange, setMandatory, setMandatoryExpression, setMandatoryExpressionString, setMessageConverter, setMessagePropertiesConverter, setNoLocalReplyConsumer, setObservationConvention, setObservationEnabled, setReceiveConnectionFactorySelectorExpression, setReceiveTimeout, setRecoveryCallback, setReplyAddress, setReplyErrorHandler, setReplyTimeout, setRetryTemplate, setReturnsCallback, setRoutingKey, setSendConnectionFactorySelectorExpression, setTaskExecutor, setUseChannelForCorrelation, setUseDirectReplyToContainer, setUsePublisherConnection, setUserCorrelationId, setUserIdExpression, setUserIdExpressionString, setUseTemporaryReplyQueues, start, stop, waitForConfirms, waitForConfirmsOrDieMethods inherited from class RabbitAccessor
afterPropertiesSet, convertRabbitAccessException, createConnection, getChannel, getConnection, getConnectionFactory, getObservationRegistry, getTransactionalResourceHolder, isChannelTransacted, obtainObservationRegistry, setChannelTransactedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ApplicationListener
supportsAsyncExecutionMethods inherited from interface ChannelAwareMessageListener
onMessage, onMessageBatchMethods inherited from interface MessageListener
containerAckMode, isAsyncReplies, onMessageBatchMethods inherited from interface RabbitOperations
convertSendAndReceiveAsType, getConnectionFactory, invoke
-
Constructor Details
-
TestRabbitTemplate
-
-
Method Details
-
setApplicationContext
- Specified by:
setApplicationContextin interfaceApplicationContextAware- Overrides:
setApplicationContextin classRabbitTemplate- Throws:
BeansException
-
onApplicationEvent
- Specified by:
onApplicationEventin interfaceApplicationListener<ContextRefreshedEvent>
-
useDirectReplyTo
protected boolean useDirectReplyTo()Description copied from class:RabbitTemplateOverride this method use some other criteria to decide whether to use (direct reply-to). The default implementation returns true if the broker supports it and there is noreplyAddressset anduseTemporaryReplyQueuesis false. When direct reply-to is not used, the template will create a temporary, exclusive, auto-delete queue for the reply.This method is invoked once only - when the first message is sent, from a locked block.
- Overrides:
useDirectReplyToin classRabbitTemplate- Returns:
- true to use direct reply-to.
-
sendToRabbit
protected void sendToRabbit(com.rabbitmq.client.Channel channel, String exchange, String routingKey, boolean mandatory, Message message) - Overrides:
sendToRabbitin classRabbitTemplate
-
doSendAndReceiveWithFixed
protected @Nullable Message doSendAndReceiveWithFixed(@Nullable String exchange, @Nullable String routingKey, Message message, @Nullable CorrelationData correlationData) - Overrides:
doSendAndReceiveWithFixedin classRabbitTemplate
-