public class TestRabbitTemplate extends RabbitTemplate implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.SmartInitializingSingleton
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.RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnCallback, RabbitTemplate.TemplateConsumer
RabbitOperations.OperationsCallback<T>
logger
Constructor and Description |
---|
TestRabbitTemplate(ConnectionFactory connectionFactory) |
Modifier and Type | Method and Description |
---|---|
void |
afterSingletonsInstantiated() |
protected Message |
doSendAndReceiveWithFixed(java.lang.String exchange,
java.lang.String routingKey,
Message message,
CorrelationData correlationData) |
protected void |
sendToRabbit(com.rabbitmq.client.Channel channel,
java.lang.String exchange,
java.lang.String routingKey,
boolean mandatory,
Message message) |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
protected boolean |
useDirectReplyTo()
Override this method use some other criteria to decide whether or not to use
direct reply-to (https://www.rabbitmq.com/direct-reply-to.html).
|
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, convertSendAndReceiveAsType, convertSendAndReceiveRaw, correlationConvertAndSend, determineConfirmsReturnsCapability, doReceiveNoWait, doSend, doSendAndReceive, doSendAndReceiveWithTemporary, doStart, doStop, execute, expectedQueueNames, getEncoding, getExchange, getMessageConverter, getMessagePropertiesConverter, getRoutingKey, getUnconfirmed, getUnconfirmedCount, getUUID, handleConfirm, handleReturn, initDefaultStrategies, invoke, isChannelLocallyTransacted, isConfirmListener, isMandatoryFor, isReturnListener, isRunning, isUsePublisherConnection, onMessage, receive, receive, receive, receive, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, revoke, send, send, send, send, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, sendAndReceive, setAfterReceivePostProcessors, setBeanFactory, setBeanName, setBeforePublishPostProcessors, setConfirmCallback, setCorrelationDataPostProcessor, setCorrelationKey, setEncoding, setExchange, setMandatory, setMandatoryExpression, setMandatoryExpressionString, setMessageConverter, setMessagePropertiesConverter, setQueue, setReceiveConnectionFactorySelectorExpression, setReceiveTimeout, setRecoveryCallback, setReplyAddress, setReplyTimeout, setRetryTemplate, setReturnCallback, setRoutingKey, setSendConnectionFactorySelectorExpression, setTaskExecutor, setUseDirectReplyToContainer, setUsePublisherConnection, setUserCorrelationId, setUserIdExpression, setUserIdExpressionString, setUseTemporaryReplyQueues, start, stop, waitForConfirms, waitForConfirmsOrDie
afterPropertiesSet, convertRabbitAccessException, createConnection, getChannel, getConnection, getConnectionFactory, getTransactionalResourceHolder, isChannelTransacted, setChannelTransacted, setConnectionFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConnectionFactory
public TestRabbitTemplate(ConnectionFactory connectionFactory)
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
public void afterSingletonsInstantiated()
afterSingletonsInstantiated
in interface org.springframework.beans.factory.SmartInitializingSingleton
protected boolean useDirectReplyTo()
RabbitTemplate
replyAddress
set and
useTemporaryReplyQueues
is 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 synchronized block.
useDirectReplyTo
in class RabbitTemplate
protected void sendToRabbit(com.rabbitmq.client.Channel channel, java.lang.String exchange, java.lang.String routingKey, boolean mandatory, Message message) throws java.io.IOException
sendToRabbit
in class RabbitTemplate
java.io.IOException
protected Message doSendAndReceiveWithFixed(java.lang.String exchange, java.lang.String routingKey, Message message, CorrelationData correlationData)
doSendAndReceiveWithFixed
in class RabbitTemplate