在 Spring-Cloud-Netflix (Brixton.RELEASE) 中为 AWS 配置 EurekaInstanceConfigBean
Configuring the EurekaInstanceConfigBean for AWS in Spring-Cloud-Netflix (Brixton.RELEASE)
随着 Brixton Release Train 的发布,我注意到对 EurekaInstanceConfigBean
界面进行了更新,具体来说,默认构造函数已经创建 private
,并且有一个新的构造函数已经引入了一个 org.springframework.cloud.commons.util.InetUtils
.
的实例
使用 Angel Release Train,许多在线示例 (cloud.spring.io included) 表明在 AWS 中工作时此 bean 的配置类似于以下内容:
@Bean
@Profile("!default")
public EurekaInstanceConfigBean eurekaInstanceConfig() {
EurekaInstanceConfigBean b = new EurekaInstanceConfigBean();
AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
b.setDataCenterInfo(info);
return b;
}
我知道我可以通过创建 InetUtils
的实例并将其提供给构造函数来实现它,但我对 最佳实践 创建此 @Bean
并将其配置为与 AWS 一起使用。
是否打算仅创建 InetUtils
的实例,或利用自动配置,或特定的 @Enable*
注释,甚至只是在 @PostConstruct
方法中设置字段?也许还有别的东西?
InetUtils
是一个bean,直接注入即可。
public EurekaInstanceConfigBean eurekaInstanceConfig(InetUtils inetUtils) {
EurekaInstanceConfigBean b = new EurekaInstanceConfigBean(inetUtils);
//...
return b;
}
bean 来自 AutoConfiguration,特别是 org.springframework.cloud.commons.util.UtilAutoConfiguration
class,它是 spring-cloud-commons jar 的一部分。
随着 Brixton Release Train 的发布,我注意到对 EurekaInstanceConfigBean
界面进行了更新,具体来说,默认构造函数已经创建 private
,并且有一个新的构造函数已经引入了一个 org.springframework.cloud.commons.util.InetUtils
.
使用 Angel Release Train,许多在线示例 (cloud.spring.io included) 表明在 AWS 中工作时此 bean 的配置类似于以下内容:
@Bean
@Profile("!default")
public EurekaInstanceConfigBean eurekaInstanceConfig() {
EurekaInstanceConfigBean b = new EurekaInstanceConfigBean();
AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
b.setDataCenterInfo(info);
return b;
}
我知道我可以通过创建 InetUtils
的实例并将其提供给构造函数来实现它,但我对 最佳实践 创建此 @Bean
并将其配置为与 AWS 一起使用。
是否打算仅创建 InetUtils
的实例,或利用自动配置,或特定的 @Enable*
注释,甚至只是在 @PostConstruct
方法中设置字段?也许还有别的东西?
InetUtils
是一个bean,直接注入即可。
public EurekaInstanceConfigBean eurekaInstanceConfig(InetUtils inetUtils) {
EurekaInstanceConfigBean b = new EurekaInstanceConfigBean(inetUtils);
//...
return b;
}
bean 来自 AutoConfiguration,特别是 org.springframework.cloud.commons.util.UtilAutoConfiguration
class,它是 spring-cloud-commons jar 的一部分。