diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/RabbitTemplate.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/RabbitTemplate.java index f8ba1a1b..fe244fe5 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/RabbitTemplate.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/RabbitTemplate.java @@ -1944,6 +1944,7 @@ public class RabbitTemplate extends RabbitAccessor // NOSONAR type line count @Nullable private Message doSendAndReceiveWithDirect(String exchange, String routingKey, Message message, @Nullable CorrelationData correlationData) { + ConnectionFactory connectionFactory = obtainTargetConnectionFactory( this.sendConnectionFactorySelectorExpression, message); if (this.usePublisherConnection && connectionFactory.getPublisherConnectionFactory() != null) { @@ -1957,7 +1958,7 @@ public class RabbitTemplate extends RabbitAccessor // NOSONAR type line count boolean cancelConsumer = false; try { Channel channel = channelHolder.getChannel(); - if (isPublisherConfirmsOrReturns(connectionFactory)) { + if (isPublisherConfirmsOrReturns(connectionFactory)) { // NOSONAR false positive NP dereference addListener(channel); } Message reply = doSendAndReceiveAsListener(exchange, routingKey, message, correlationData, channel,