如何使用 Spring 有选择地禁用 Eureka 发现客户端?
How to selectively disable Eureka discovery client with Spring?
有没有办法根据 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
注释 class (class 正文可以省略)例如:
@Profile("!development")
@Configuration
@EnableDiscoveryClient
public class EurekaClientConfiguration {
}
这意味着这个配置文件(和@EnableDiscoveryClient
中的)将被加载到除"developement"之外的每个配置文件中。
希望对您有所帮助,
同样的问题。您可以简单地将以下配置放入您的应用程序 属性 文件中:
spring:
profiles: development
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
您可以在 application.yml 中使用以下方法禁用 eureka 客户端:
eureka:
client:
enabled: false
也适用于一份个人资料
有一个标准的布尔值spring-cloud 属性
spring.cloud.discovery.enabled
这可能比 "eureka" 具体更好,因为您可能使用不同的提供商。
使用最新版本的Spring启动,请在bootstrap.yml文件中添加
Spring云版:Edgeware:SR3及以上
spring:
application:
name: test
cloud:
service-registry:
auto-registration:
enabled: false
这将禁用尤里卡。要启用它,我们只需要将 enabled 设置为 true
对于最新版本的 Spring Cloud Finchley.SR2,如果您使用注解 @EnableDiscoveryClient,则必须在 application.properties 中设置以下所有属性以禁用服务注册:
spring.cloud.service-registry.auto-registration.enabled=false
eureka.client.enabled=false
eureka.client.serviceUrl.registerWithEureka=false
To disable the Eureka Discovery Client, you can set
eureka.client.enabled
to false
.
Eureka Discovery Client will also be
disabled when spring.cloud.discovery.enabled
is set to false
.
有没有办法根据 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
注释 class (class 正文可以省略)例如:
@Profile("!development")
@Configuration
@EnableDiscoveryClient
public class EurekaClientConfiguration {
}
这意味着这个配置文件(和@EnableDiscoveryClient
中的)将被加载到除"developement"之外的每个配置文件中。
希望对您有所帮助,
同样的问题。您可以简单地将以下配置放入您的应用程序 属性 文件中:
spring:
profiles: development
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
您可以在 application.yml 中使用以下方法禁用 eureka 客户端:
eureka:
client:
enabled: false
也适用于一份个人资料
有一个标准的布尔值spring-cloud 属性
spring.cloud.discovery.enabled
这可能比 "eureka" 具体更好,因为您可能使用不同的提供商。
使用最新版本的Spring启动,请在bootstrap.yml文件中添加
Spring云版:Edgeware:SR3及以上
spring:
application:
name: test
cloud:
service-registry:
auto-registration:
enabled: false
这将禁用尤里卡。要启用它,我们只需要将 enabled 设置为 true
对于最新版本的 Spring Cloud Finchley.SR2,如果您使用注解 @EnableDiscoveryClient,则必须在 application.properties 中设置以下所有属性以禁用服务注册:
spring.cloud.service-registry.auto-registration.enabled=false
eureka.client.enabled=false
eureka.client.serviceUrl.registerWithEureka=false
To disable the Eureka Discovery Client, you can set
eureka.client.enabled
tofalse
.
Eureka Discovery Client will also be disabled whenspring.cloud.discovery.enabled
is set tofalse
.