2016-04-09 17 views
0

Kendime Spring Cloud Config Server'ı öğretiyorum ve özelliklerin fasulye içine enjekte edilmesiyle ilgili bir sorun yaşıyorum. Spring Cloud Config Server'daki özellikler, Spring uygulamasına yayılmadı

Yani sadece test için, yapılandırma istemcisi olarak basit Bahar Boot Uygulamasını vardır:

@SpringBootApplication 
@ConfigurationProperties 
public class DemoApplication { 

    @Value("${greeting}") 
    static private String greeting; 

    public static void main(String[] args) { 
     SpringApplication.run(DemoApplication.class, args); 
     System.out.println("The greeting is: " + greeting); 
    } 
} 

Fakat sistemin yazdırma:

The greeting is: null 

env uç nokta kontrol etme, ben aslında "${greeting}" özelliği bulunan çevrede:

profiles: [ ], 
configService:https://github.com/mstine/config-repo.git/demo.yml: { 
greeting: "Webhook" 
}, 
configService:https://github.com/mstine/config-repo.git/application.yml: { 
eureka.instance.hostname: "localhost", 
eureka.instance.leaseRenewalIntervalInSeconds: 10, 
eureka.instance.metadataMap.instanceId: "${vcap.application.instance_id:${spring.application.name}:${server.port:8080}}", 
eureka.client.serviceUrl.defaultZone: "${vcap.services.service-registry.credentials.uri:http://127.0.0.1:8761}/eureka/", 
foo: "barnyardAnimal" 
}, 

configService, Bahar Framework için "Webhook"

ben yeniyim değerini sahiptir greeting adında bir özellik vardır bu yüzden ben karmaşa şey yoktu merak ediyorum? Birisi, Environment kullanarak harici özelliklere de erişebileceğimi önerir, ancak nasıl kullanacağım konusunda çok fazla öğretici bulamadım. Herhangi bir düşünce?

=================================== GÜNCELLEME ==========

Application.java:

package io.spring.cloud.samples.fortuneteller.configserver; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.cloud.config.server.EnableConfigServer; 

@SpringBootApplication 
@EnableConfigServer 
public class Application { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 
============================ yapılandırma sunucusunun kodunu eklemek

application.yml:

server: 
    port: 8888 

spring: 
    cloud: 
    config: 
     server: 
     git: 
      uri: https://github.com/mstine/config-repo.git 

cevap

0

sana, ben kod görmedim yanı sunucu oluşturmak ve başlatmak için gerek

@SpringBootApplication 
@EnableConfigServer 
public class Application { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

Sunucunuzu etkinleştirdikten sonra, istemcinizin buna bağlı olması ve sunucunun depolayacağı yapılandırma parametrelerini sorması gerekir. Bu sunucunun, değerlerin kaydedileceği .yml dosyasını saklaması gerekir.

Müşteri kodu

sunucuya konuşmak ve Sen yapılandırma ve github here yılında istemci ve sunucu kodu için bir örnek bulabilirsiniz

--- 
spring: 
    profiles: 
    active: northamerica 
    application: 
    name: koitoerclient 
    cloud: 
    config: 
     uri: http://localhost:8001 
server: 
    port: 8002 

bootstrap.yml ile belirli değerleri için sormak gerekir, çok basittir tüm yapılandırmayı anlayabilirsiniz.

+0

Merhaba, cevabınız için teşekkürler. Yapılandırma sunucusu çalışıyor ve çalışıyor ancak yine de değeri göstermiyor. Yapılandırma sunucusu snippet'ini güncellemeye ekledim. Teşekkür ederim. –

0

Bildiğim kadarıyla, ne yaptığımız ve benzeri durumda benim için çalıştı

istemci uygulamasında ana sınıfının üzerinde

@EnableDiscoveryClient

eklemek unuttuysanız gördüğünüz gibi

İlgili konular