我一直在尝试设置Spring Cloud Config Server / Client。我一直在关注几个不同的例子(1,2)。我正确设置了客户端和服务器,并且可以成功查询localhost:8888 / localhost:8080以查看JSON格式的值。
我的问题是Spring Boot是否会自动检测Spring Cloud Config Server提供的这些属性。目前我只是尝试在启动时连接到RabbitMQ实例,但尽管没有任何错误但没有成功。它不连接到Rabbit或创建队列/交换。
当我在本地拥有具有以下属性的application.properties文件时,它可以正常工作,但我希望通过GitHub存储库中的Spring Cloud Config进行这些设置。
spring.rabbitmq.host=178.61.47.---
spring.rabbitmq.port=5672
spring.rabbitmq.username=mqtt
spring.rabbitmq.password=mqtt
我已经查看了GitHub上的问题/问题,但无法看到与此相关的任何内容。
客户类的代码如下:
@EnableAutoConfiguration
@ComponentScan
@SpringBootApplication
public class ConfigRabbitApplication {
final static String queueName = "arduino-weather-queue";
@Autowired
RabbitTemplate rabbitTemplate;
@Bean
Queue queue() {
return new Queue(queueName, true);
}
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with("arduino-weather");
}
@Bean
TopicExchange exchange() {
return new TopicExchange("arduino-iot-exchange", true, false);
}
public static void main(String[] args) {
SpringApplication.run(ConfigRabbitApplication.class, args);
}
}
答案 0 :(得分:0)
不,Spring启动客户端不知道您要从config-server获取配置。这可能是在类路径中的特定类时加载的,这就是为什么你必须添加org.springframework.cloud:spring-cloud-starter-config
依赖项。这里有很好的描述:http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage
如果config-server不在localhost:8888上,您还必须添加:
spring.cloud.config.uri: http://myconfigserver.com
到你的bootstrap.yml文件(与application.yml相同,刚才加载)。