From 9f7b65ba273caf4df5311479f1163fd34ffebf1c Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Fri, 15 Feb 2019 17:41:17 -0500 Subject: [PATCH] GH-905: Fix @RabbitListener Thread Names Fixes https://github.com/spring-projects/spring-amqp/issues/905 Default container thread names are based on the bean name. `@RabbitListener` containers are not beans; use `getListenerId()` instead (which falls back to bean name for other containers). **cherry-pick to all supported branches** (cherry picked from commit 5f4c60a969e42b9b89b6dbb758b62ebfe970f295) # Conflicts: # spring-rabbit/src/test/java/org/springframework/amqp/rabbit/annotation/EnableRabbitIntegrationTests.java # Conflicts: # spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractMessageListenerContainer.java --- .../rabbit/annotation/EnableRabbitIntegrationTests.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 48d28d21..e3133daa 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 @@ -214,7 +214,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")); } @Test @@ -660,13 +660,13 @@ public class EnableRabbitIntegrationTests { public static class MyService { - @RabbitListener(bindings = @QueueBinding( + @RabbitListener(id = "threadNamer", bindings = @QueueBinding( value = @Queue(value = "auto.declare", autoDelete = "true"), exchange = @Exchange(value = "auto.exch", autoDelete = "true"), key = "auto.rk") ) public String handleWithDeclare(String foo) { - return foo.toUpperCase(); + return foo.toUpperCase() + Thread.currentThread().getName(); } @RabbitListener(bindings = @QueueBinding(