Próbuję utworzyć serwer konfiguracji Spring Cloud, który odczytuje dane konfiguracyjne z pliku właściwości, a nie github. Serwer uruchamia się, ale nie obsługuje właściwości z pliku. Mam dwa pliki konfiguracyjne na classpapath:Serwer konfiguracji Spring-Cloud ignoruje plik właściwości konfiguracji
bootstrap.yml
spring:
application:
name: config-server
config-server.properties
foo=bar
kiedy idę do adresu URL, który rzekomo powinien dać mi wartość Instrumentu nieruchomość foo:
curl http://localhost:8888/admin/env/foo
pojawia się błąd: " timestamp ": 1415298615005," status ": 404," error ":" Not Found "," exception ":" org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint $ NoSuchPropertyException "," message ":" Brak takiej właściwości : foo "," ścieżka ":"/admin/env/foo "}
Zastanawiam się, co robię źle? O ile rozumiem nazwa pliku właściwości powinna pasować do nazwy serwera, aby mogła zostać rozpoznana przez serwer.
dodanie profilu natywnego jako sugerowanego przez spencergibb nie pomogło. moi application.properties wygląda następująco:
server.port=8888
spring.profiles.active=native
spring.config.name=configserver
spring.application.name=configserver
nocie, że musiałem określić port serwera. Zgodnie z dokumentacją serwera Spring Cloud Config Server serwer konfiguracji domyślnie uruchamia port 8888. W moim przypadku jednak chyba określić port w moim config serwer uruchamiany w 8080.
Plik POM ma rodzica oraz pojedyncze zależność:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>1.0.0.M2</version>
</dependency>
</dependencies>
aplikacja ma nic szczególnego w tym:
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableConfigServer
public class ConfigurationApp {
public static void main(String[] args) {
SpringApplication.run(ConfigurationApp.class, args);
}
}
plik configserver.properties zawiera pojedynczy wpis: foo = bar
Przede wszystkim jestem zawsze otrzymuję błąd uruchamiania
2014-11-07 09:35:42.852 ERROR 6972 --- [ main] b.c.PropertySourceBootstrapConfiguration : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/configserver/default/master":Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect
Niezależnie od tego, które polecenie wykonam ja zawsze się taką samą odpowiedź od serwera:
{"name":"info","label":"master","propertySources":[{"name":"bootstrap","source":{}},{"name":"applicationConfig: [classpath:/application.properties]","source":{"spring.config.name":"configserver","spring.application.name":"configserver","server.port":"8888","spring.profiles.active":"native"}},{"name":"defaultProperties","source":{"spring.application.name":"bootstrap"}}]}
próbowałem:
http://localhost:8888/configserver/env
http://localhost:8888/configserver/env/foo
http://localhost:8888/configserver/info
http://localhost:8888/configserver/beans
http://localhost:8888/configserver/health
odpowiedź jest zawsze jak wyżej
Dodałem ustawienie, które zasugerowałeś do application.properties. Błąd zniknął, ale nadal nie mogę uzyskać moich właściwości. Zaktualizowałem mój pierwotny wpis z więcej informacji – MrkK
Zobacz moją odpowiedź tutaj: http://stackoverflow.com/a/27159030/2730527 – spencergibb