2016-11-11 7 views
0

Wir planen den Inhalt unserer zahlreichen .properties-Dateien in Consul ich eine Demo umgesetzt haben, sich zu bewegen mit der folgenden DefinitionAusfallen Fern Eigenschaft mit Spring Wolke Consul

@EnableAutoConfiguration 
@SpringBootApplication 
@EnableDiscoveryClient 
@RestController 
@EnableConfigurationProperties 
public class Application { 

    @Autowired 
    private Environment env; 

    @RequestMapping("/") 
    public String home() { 
     return env.getProperty("dc1/kv/property1/"); 
    } 
} 

mit der Consul-Server läuft auf lesen der Standard

  • localhost: 8500
  • Rechenzentrum name = DC1
  • node name = IT051080
  • Service name = Consul-Demo ich eine Eigenschaft manuell aus dem Web-UI hinzugefügt haben, können sie den Zugang von http://localhost:8500/ui/#/dc1/kv/property1

im Moment env.getProperty("dc1/kv/property1/");kehrt nichts

mein pom wie diese

sieht sein

kann jemand einige Lichter abwerfen bitte

+0

Können Sie bootstrap.yml freigeben? –

Antwort

1

Sie verweisen nicht auf Eigenschaften wie Consul, Sie verweisen auf sie wie Federeigenschaften. Standardmäßig sieht Spring-Cloud-Consul unter einem /config Kontext. Müssten Sie property1 in /config/property1 setzen und es über env.getProperty("property1") referenzieren. Für /config/foo/property würden Sie in Frühlingsumgebung foo.property verweisen.

+0

ja es hat auch funktioniert, der eigentliche cloud-consul-entwickler meine antwort zu beantworten hat meinen tag gemacht! Ich bin immer noch nicht klar über das Konzept von Profil in Consul, wenn ich eine Eigenschaft als/config/myApp, dev/property1 erstellen, wie kann ich es von der Java Spring-Seite lesen? muss ich meinen Controller mit @profile annotieren? –

+0

set 'spring.profiles.active = dev'. '@ Profile' wird verwendet, um zu beschränken, dass eine Konfiguration oder Komponente nur erstellt wird, wenn dieses Profil aktiv ist. Siehe http://docs.spring.io/autorepo/docs/spring-boot/current/reference/html/boot-features-profiles.html – spencergibb

Verwandte Themen