diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java index 4a58e859..75222300 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java @@ -1197,8 +1197,8 @@ public abstract class AbstractMessageListenerContainer extends RabbitAccessor if (!this.isExposeListenerChannel() && this.transactionManager != null) { logger.warn("exposeListenerChannel=false is ignored when using a TransactionManager"); } - if (!this.taskExecutorSet && StringUtils.hasText(this.getBeanName())) { - this.taskExecutor = new SimpleAsyncTaskExecutor(this.getBeanName() + "-"); + if (!this.taskExecutorSet && StringUtils.hasText(getListenerId())) { + this.taskExecutor = new SimpleAsyncTaskExecutor(getListenerId() + "-"); this.taskExecutorSet = true; } if (this.transactionManager != null && !isChannelTransacted()) { diff --git a/spring-rabbit/src/test/java/org/springframework/amqp/rabbit/annotation/EnableRabbitIntegrationTests.java b/spring-rabbit/src/test/java/org/springframework/amqp/rabbit/annotation/EnableRabbitIntegrationTests.java index 4c9cae27..6d52b6be 100644 --- a/spring-rabbit/src/test/java/org/springframework/amqp/rabbit/annotation/EnableRabbitIntegrationTests.java +++ b/spring-rabbit/src/test/java/org/springframework/amqp/rabbit/annotation/EnableRabbitIntegrationTests.java @@ -241,7 +241,7 @@ public class EnableRabbitIntegrationTests { @Test public void autoDeclare() { - assertEquals("FOO", rabbitTemplate.convertSendAndReceive("auto.exch", "auto.rk", "foo")); + assertEquals("FOOthreadNamer-1", rabbitTemplate.convertSendAndReceive("auto.exch", "auto.rk", "foo")); assertThat(this.myService.channelBoundOk).isTrue(); } @@ -910,7 +910,7 @@ public class EnableRabbitIntegrationTests { this.txRabbitTemplate = txRabbitTemplate; } - @RabbitListener(bindings = @QueueBinding( + @RabbitListener(id = "threadNamer", bindings = @QueueBinding( value = @Queue(value = "auto.declare", autoDelete = "true", admins = "rabbitAdmin"), exchange = @Exchange(value = "auto.exch", autoDelete = "true"), key = "auto.rk"), containerFactory = "txListenerContainerFactory" @@ -919,7 +919,7 @@ public class EnableRabbitIntegrationTests { this.channelBoundOk = this.txRabbitTemplate.execute(c -> { return c.equals(channel); }); - return foo.toUpperCase(); + return foo.toUpperCase() + Thread.currentThread().getName(); } @RabbitListener(queuesToDeclare = @Queue(name = "${jjjj:test.simple.declare}", durable = "true"),