From 7c797d2a5b8a208025bdb33286e3ffb88e386392 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 17 Mar 2015 16:08:30 +0000 Subject: [PATCH] Fix RabbitAdmin so it actually finds the Declarables --- .../bus/amqp/AmqpBusAutoConfiguration.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/spring-cloud-bus/src/main/java/org/springframework/cloud/bus/amqp/AmqpBusAutoConfiguration.java b/spring-cloud-bus/src/main/java/org/springframework/cloud/bus/amqp/AmqpBusAutoConfiguration.java index 9980a7a..ea1614e 100644 --- a/spring-cloud-bus/src/main/java/org/springframework/cloud/bus/amqp/AmqpBusAutoConfiguration.java +++ b/spring-cloud-bus/src/main/java/org/springframework/cloud/bus/amqp/AmqpBusAutoConfiguration.java @@ -16,6 +16,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.bus.ConditionalOnBusEnabled; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.integration.dsl.IntegrationFlow; @@ -58,9 +59,10 @@ public class AmqpBusAutoConfiguration { @Autowired(required = false) private ConnectionFactory primaryConnectionFactory; - private RabbitTemplate amqpTemplate; + @Autowired + private ApplicationContext context; - private RabbitAdmin amqpAdmin; + private RabbitTemplate amqpTemplate; @Autowired(required = false) private ObjectMapper objectMapper; @@ -71,11 +73,12 @@ public class AmqpBusAutoConfiguration { Jackson2JsonMessageConverter converter = messageConverter(); amqpTemplate.setMessageConverter(converter); this.amqpTemplate = amqpTemplate; - this.amqpAdmin = new RabbitAdmin(connectionFactory()); - cloudBusExchange().setAdminsThatShouldDeclare(this.amqpAdmin); - localCloudBusQueueBinding().setAdminsThatShouldDeclare(this.amqpAdmin); - localCloudBusQueue().setAdminsThatShouldDeclare(this.amqpAdmin); - this.amqpAdmin.afterPropertiesSet(); + RabbitAdmin amqpAdmin = new RabbitAdmin(connectionFactory()); + cloudBusExchange().setAdminsThatShouldDeclare(amqpAdmin); + localCloudBusQueueBinding().setAdminsThatShouldDeclare(amqpAdmin); + localCloudBusQueue().setAdminsThatShouldDeclare(amqpAdmin); + amqpAdmin.setApplicationContext(context); + amqpAdmin.afterPropertiesSet(); } return amqpTemplate; }