嵌入配置服务器
配置服务器(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
中配置其名称和仓库 URI。
要更改服务器端点的位置,你可以(可选地)设置 spring.cloud.config.server.prefix
(例如 /config
),以便在某个前缀下提供服务资源。前缀应以 /
开头,但不应以 /
结尾。该前缀将应用于 Config Server 中的 @RequestMappings
(即位于 Spring Boot 的 server.servletPath
和 server.contextPath
前缀之下)。
如果你想直接从后端仓库读取应用程序的配置(而不是从配置服务器读取),你基本上需要一个没有端点的嵌入式配置服务器。你可以通过不使用 @EnableConfigServer
注解来完全关闭端点(设置 spring.cloud.config.server.bootstrap=true
)。