如果Spring应用程序无法连接到其配置服务器

时间:2016-11-09 15:36:14

标签: java spring

请考虑您有一个Spring应用程序从配置服务器获取其配置。如果它无法连接到配置服务器,应用程序将继续启动,但由于缺少所有配置,它最终会失败并带来潜在的误导性错误。

是否可以配置Spring,因此在启动时无法连接到配置服务器时会立即中止?

2 个答案:

答案 0 :(得分:7)

spring.cloud.config.failFasttrue文件中将bootstrap.yml设置为bootstrap.properties。此外,您可以将-Dspring.cloud.config.failFast=true添加到JVM参数。

来自documentation

  

配置客户端快速失败

     

在某些情况下,如果服务无法连接到配置服务器,则可能需要失败启动服务。如果这是所需的行为,请设置引导程序配置属性spring.cloud.config.failFast=true,客户端将以异常停止。

答案 1 :(得分:5)

您可以使用spring cloud Spring Cloud Config ServerSpring Cloud Config Client组件来实现这一目标。

<强> 1。 Spring Cloud Config Server

服务器为外部配置(名称 - 值对或等效的YAML内容)提供基于资源的HTTP HTTP。使用@EnableConfigServer批注可以轻松地将服务器嵌入到Spring Boot应用程序中。所以这个应用程序是一个配置服务器:

//ConfigServer.java
@SpringBootApplication
@EnableConfigServer
public class ConfigServer {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServer.class, args);
    }
}


 的 2。 Spring Cloud配置客户端

Spring Boot应用程序可以立即利用Spring Config Server(或应用程序开发人员提供的其他外部属性源),并且还将获取一些与环境变化事件相关的其他有用功能。

然后在配置客户端,您可以通过设置引导程序配置属性spring.cloud.config.failFast=true

来快速配置故障

Spring云文档Config Client Fail Fast