嵌入配置服务器

Config Server 最好作为独立的应用程序运行。但是,如有必要,您可以将其嵌入到另一个应用程序中。为此,请使用 @EnableConfigServer 注解。在这种情况下,一个名为 spring.cloud.config.server.bootstrap 的可选属性可能很有用。它是一个标志,指示服务器是否应该从自己的远程仓库配置自己。默认情况下,该标志处于关闭状态,因为它会延迟启动。但是,当嵌入到另一个应用程序中时,以与任何其他应用程序相同的方式初始化是有意义的。当将 spring.cloud.config.server.bootstrap 设置为 true 时,您还必须使用复合环境仓库配置。例如

spring:
  application:
    name: configserver
  profiles:
    active: composite
  cloud:
    config:
      server:
        composite:
          - type: native
            search-locations: ${HOME}/Desktop/config
        bootstrap: true
如果使用 bootstrap 标志,则需要在 bootstrap.yml 中配置 config server 的名称和仓库 URI。

要更改服务器端点的位置,您可以(可选)设置 spring.cloud.config.server.prefix(例如,/config),以在前缀下提供资源。前缀应以 / 开头,但不以 / 结尾。它应用于 Config Server 中的 @RequestMappings(即,在 Spring Boot server.servletPathserver.contextPath 前缀下)。

如果您想直接从后端仓库读取应用程序的配置(而不是从 config server 读取),那么您基本上需要一个没有端点的嵌入式 config server。您可以通过不使用 @EnableConfigServer 注解(设置 spring.cloud.config.server.bootstrap=true)来完全关闭端点。