如何通过Spring有选择地禁用Eureka Discovery客户端?
有没有一种方法可以基于spring配置文件禁用spring-boot eureka客户端注册?
目前,我使用以下注释:
@Configuration@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableConfigServer
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
我需要的是有条件的(例如,伪代码)
@if (Profile!="development")@EnableDiscoveryClient
@endif
或以某种方式在应用程序属性文件中。我尝试将application.yml文件设置为:
spring: profiles: development
cloud:
discovery:
enabled: false
但这没有用。
回答:
这样做:创建一些带@Configuration
注释的类(类主体可以省略),例如:
@Profile("!development")@Configuration
@EnableDiscoveryClient
public class EurekaClientConfiguration {
}
这意味着此配置文件(及其@EnableDiscoveryClient
内部)将被加载到除“开发”之外的每个配置文件中。
希望能有所帮助,
以上是 如何通过Spring有选择地禁用Eureka Discovery客户端? 的全部内容, 来源链接: utcz.com/qa/423236.html