1

Mit der Veröffentlichung der Brixton Release Train, habe ich festgestellt, dass eine Aktualisierung der EurekaInstanceConfigBean Schnittstelle, speziell der Standardkonstruktor vorgenommen wurde private, und ein neuer Konstruktor wurde eingeführt, der eine Instanz von org.springframework.cloud.commons.util.InetUtils übernimmt.Konfigurieren der EurekaInstanceConfigBean für AWS in Spring-Cloud-Netflix (Brixton.RELEASE)

mit dem Engel Release Train, zeigte viele Beispiele online (cloud.spring.io included), dass diese Bohne ähnlich der folgenden konfiguriert wurde, wenn innerhalb AWS arbeitet:

@Bean 
@Profile("!default") 
public EurekaInstanceConfigBean eurekaInstanceConfig() { 
    EurekaInstanceConfigBean b = new EurekaInstanceConfigBean(); 
    AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka"); 
    b.setDataCenterInfo(info); 
    return b; 
} 

Ich verstehe, dass ich wahrscheinlich dies durch die Schaffung von Arbeit bekommen können eine Instanz von InetUtils und stellt dies dem Konstruktor zur Verfügung, aber ich bin eher neugierig auf die Best Practices für die Erstellung dieser @Bean und die Konfiguration für die Arbeit mit AWS.

Ist die Absicht, nur die Instanz von InetUtils zu erstellen oder Autokonfiguration verwenden oder eine bestimmte @Enable* Anmerkung oder sogar das Feld in einem @PostConstruct Verfahren nur eingestellt? Etwas anderes vielleicht?

Antwort

2

InetUtils ist eine Bohne, einfach injizieren.

public EurekaInstanceConfigBean eurekaInstanceConfig(InetUtils inetUtils) { 
    EurekaInstanceConfigBean b = new EurekaInstanceConfigBean(inetUtils); 
    //... 
    return b; 
} 

Die Bohne kommt von Autokonfiguration, insbesondere die org.springframework.cloud.commons.util.UtilAutoConfiguration Klasse, die ein Teil der Feder-cloud-Gemeinen jar ist.

+0

Das funktioniert super. Danke für die Information. –

Verwandte Themen