spring 云配置客户端不加载配置文件。认为问题可能是配置文件设置
spring cloud config client does not load config files. Think the problem may be profile settins
我查看了过去的堆栈跟踪并且我拥有所有正确的设置。我认为这更多是配置文件的问题。
我没有使用 git 作为数据源,而是使用 S3 但它有效,当我 运行
http://localhost:8086/application/default
它returns
{
"name": "application",
"profiles": [
"default"
],
"label": null,
"version": null,
"state": null,
"propertySources": [
{
"name": "s3:application",
"source": {
"environment.profile": "local",
在我的 pom 上我已经为 spring boot
设置了
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
<relativePath />
</parent>
Spring云是
<properties>
<java.version>16</java.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
Spring云集
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
设置启动器配置
<!-- config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
在我为客户端设置的应用程序yml中
spring:
profiles:
active: @activatedProperties@
application:
name: @artifactId@
config:
import: "configserver:"
cloud:
config:
enabled: true
uri: http://localhost:8086
@activatedProperties@ 是 local、dev、qa 或 prod。
问题是在这种情况下配置文件是本地的并且配置服务器期望默认值。
好的,我解决了这个问题。查看我的设置
spring:
profiles:
active: @activatedProperties@
application:
name: @artifactId@
config:
import: "configserver:"
cloud:
config:
enabled: true
uri: http://localhost:8086
Config server 会做如下处理
http://localhost:8086/my-client/local
my-client 是配置文件本地应用程序的名称。它需要映射到一个包含所有配置数据的 yml 文件'
此 yml 文件将称为 my-client-local.yml。我也会有
my-client-qa.yml, my-client-dev.yml, my-client-prod.yml 所以它会选择正确的配置文件
我查看了过去的堆栈跟踪并且我拥有所有正确的设置。我认为这更多是配置文件的问题。
我没有使用 git 作为数据源,而是使用 S3 但它有效,当我 运行
http://localhost:8086/application/default
它returns
{
"name": "application",
"profiles": [
"default"
],
"label": null,
"version": null,
"state": null,
"propertySources": [
{
"name": "s3:application",
"source": {
"environment.profile": "local",
在我的 pom 上我已经为 spring boot
设置了<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
<relativePath />
</parent>
Spring云是
<properties>
<java.version>16</java.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
Spring云集
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
设置启动器配置
<!-- config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
在我为客户端设置的应用程序yml中
spring:
profiles:
active: @activatedProperties@
application:
name: @artifactId@
config:
import: "configserver:"
cloud:
config:
enabled: true
uri: http://localhost:8086
@activatedProperties@ 是 local、dev、qa 或 prod。 问题是在这种情况下配置文件是本地的并且配置服务器期望默认值。
好的,我解决了这个问题。查看我的设置
spring:
profiles:
active: @activatedProperties@
application:
name: @artifactId@
config:
import: "configserver:"
cloud:
config:
enabled: true
uri: http://localhost:8086
Config server 会做如下处理
http://localhost:8086/my-client/local
my-client 是配置文件本地应用程序的名称。它需要映射到一个包含所有配置数据的 yml 文件'
此 yml 文件将称为 my-client-local.yml。我也会有 my-client-qa.yml, my-client-dev.yml, my-client-prod.yml 所以它会选择正确的配置文件