клиент spring cloud config не загружает конфигурацию с сервера конфигурации
Я по этой ссылке: http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage
Я тестировал это снова и снова и не видел Spring cloud client загружает конфигурацию с облачного сервера, пожалуйста, помогите увидеть, где находится ошибка:
пом:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
применение:
@Configuration
@EnableAutoConfiguration
@RestController
public class ConfigclientApplication {
@Value("${spring.cloud.config.uri}")
String url;
@Value("${production.host}")
String host;
@RequestMapping("/")
public String home() {
return "Host is => " + this.host ;
}
public static void main(String[] args) {
SpringApplication.run(ConfigclientApplication.class, args);
}
}
bootstrap.свойства: весна.облако.конфиг.uri=http://localhost:8888
-
сервер конфигурации хороший: http://localhost:8888/spirent/default
{"name":"spirent","profiles":["default"],"label":"master","propertySources":[{"name":"classpath:/spirent.yml","source":{"production.host":"server1","production.port":9999,"production.value1":12345,"test.host":"server2.com","test.port":4444,"test.value":"hello123"}}]}
-
теперь http://localhost:8080/ не может быть начато вовсе.
ошибка при создании фасоли с имя 'configclientApplication' Казалось, что автоинъекция @Value не может найти производство.значение окружающей среды.
Как я могу прочитать конфигурацию в клиенте после загрузки с сервера конфигурации?
Спасибо за вашу помощь.
1 ответов
как подразумевает Deinum, я бы гарантировал, что у вас есть клиент, настроенный с родитель как spring-cloud-starter-parent и дайте ему версию. Плагины Maven, предоставляемые spring cloud, не будут работать, когда вы включаете в свои зависимости и помните, что cloud-это другой проект, чем boot. Измените его на:
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>1.0.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
во-вторых, как новая дисциплина (и, вероятно, не ваша проблема здесь), я бы использовал новую аннотацию в вашем приложении вместо @Configuration и @EnableAutoConfiguration
@SpringBootApplication
в-третьих, дважды проверьте, что у вас есть @EnableConfigServer на вашем сервере конфигурации
в-четвертых, убедитесь, что ваш загрузчик.в свойствах вашего клиента указано имя приложения spring:
spring.application.name=spirent
наконец, если вы использовали пример проекта spring-cloud-config, есть пароль пользователя и безопасности по умолчанию, который вы должны установить в своем URI:
http://user:ddf4757e-0077-42e4-b2ad-2ae04340b08c@localhost:8888
в противном случае попробуйте начать с проекта spring-cloud-config расположенный здесь, чтобы убедиться, что ваш сервер конфигурации настроен правильно:
https://github.com/spring-cloud/spring-cloud-config