问题标签 [spring-cloud-config-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 原因:java.lang.IllegalArgumentException:无法解析值“${some.other.property}”中的占位符“some.other.property”
我是 Spring 技术的新手,这个问题已经困扰了我好几个小时。我的 spring 云配置客户端无法从配置服务器读取属性,因为我收到IllegalArgumentException。配置服务器显示所有属性,但我认为propertySources 列表中的 name 属性存在问题,我的猜测是这就是我遇到此问题的原因。我在这里附上源代码、错误和输出。请帮帮我!!
错误:
当我点击 spring 云配置服务器的 ./{config-client-name}/{client-profile} 端点时,我得到以下输出。我认为有问题的部分以黄色突出显示。
Spring Cloud Config Server 输出图像
以下是我的配置服务器代码
pom.xml
应用程序属性
JAVA代码
以下是我的配置客户端代码
pom.xml
application.properties 文件
bootstrap.properties 文件
JAVA 代码 main.java
ConfigClientAppConfiguration.java
配置客户端控制器.java
对不起,如果我有任何愚蠢的错误,如果有,请指出。谢谢!
keycloak - Spring Cloud Config Server OAuth2 授权
我有一个配置服务器和运行配置服务器的 Spring Boot 微服务,需要基本身份验证用户/密码。我有一个 Keycloak 服务器,我想将其用于微服务对配置服务器的身份验证和授权。我已将 keycloak spring boot 适配器添加到配置服务器,因此现在配置服务器需要 OAuth2 令牌,并已通过 Postman 验证它可以按预期工作。
这是我的微服务 pom
这是我的 bootstrap.yml
对配置服务器的引导调用没有 OAuth2 持有者令牌。我错过了什么?
spring - 在 Spring Cloud Config 中选择特定配置文件时,不返回默认配置文件值
我正在从本地application.yml
配置文件转移到配置服务器管理的配置。
我的 application.yml 文件在同一个文件中包含 2 个(或更多)配置文件,格式为:
当我在 NOT config-server 环境中测试此配置文件时,我会从特定配置文件中读取结果,如果未找到,则从默认配置文件中读取。样本
当我在没有 config-server 的情况下进行测试时结果正确
为了测试,我使用了一个简单的程序:
我用(我使用gradle)启动程序:
但是,当我迁移到配置服务器时,将文件移动到 config-repo(我正在使用基于文件的报告),我得到无效的结果(它无法读取默认部分中的变量)。我也试过 --spring.profiles.active=docker,default 没有改变
作为参考,我的配置服务器具有以下配置:
主要班
和build.gradle
我从以下开始:
注意:由于我认为这是一个错误,我还在 github 中创建了一个问题。签入问题
spring-boot - Spring boot 2.4.x 无法处理来自配置服务器的多文档 yml 文件
- Java版本:8
- Spring Boot 版本:2.4.1
- Spring Cloud 版本:2020.0.0,具体来说我使用了一个连接到 GIT 的 Spring Cloud Config Server,我们的服务是 Spring Cloud Config Clients。
我已经不再使用bootstrap.yml
并开始使用spring.config.import
,spring.config.activate.on-profile
如文档here和here中所述
我的服务中的配置(配置服务器的客户端)如下所示:
我在配置服务器中的配置如下所示:
application.yml(有两个文件由 --- 分隔)
my-rest-sercive.yml(有两个文件由 --- 分隔)
因为有一个配置文件“dev”处于活动状态,所以我成功地从配置服务器获取了以下 4 个配置:
application.yml
:一般日志记录级别application.yml
: dev 的特定日志记录my-rest-sercive.yml
: 通用数据源属性my-rest-sercive.yml
: dev 的特定数据源 url
当我使用浏览器或调试时,或者当我降低日志级别进行跟踪时,我可以看到这 4 个源被成功获取:
但是,请注意,因为我使用多文档 yml 文件,所以在这 4 个属性源中,仅使用了两个唯一名称。
在稍后的步骤中,当 Spring 创建数据源 bean 时,他抱怨找不到数据源 URL。如果我调试 spring bean 工厂,我确实可以看到配置服务器返回的 4 个属性文件中,只剩下两个(不包含 dev profile 特定配置的那些)。我认为这是因为它们具有相同的名称并且它们相互覆盖。这是这段代码的效果MutablePropertySource.class
:
这是 Spring 2.3/Spring Cloud Hoxton 的重大变化,它正确收集了所有属性。我认为 Spring Cloud 需要更改配置服务器,以便 yml 中的每个文档在返回 Spring 时都有一个唯一的名称。这正是 Spring Boot 通过将字符串附加(documenyt #1)
到属性源名称来处理多文档 yml 文件的方式
我发现了一个关于配置文件和多文档 yml 的有趣注释,基本上说它不受支持,但这不适用于我的用例,因为我的 yml 文件不是基于配置文件的( -{profileName}
文件名的最后部分没有) .
spring-cloud - Spring Cloud Config Client 未报告运行状况
我已经实现了 Cloud Config Server,并且(最终)工作正常,并向客户端提供配置。我正在使用 3.0.1 版的 Config Server(我不得不升级,因为 3.0.0 中有一些错误)。
但我的最后一步,提供健康是行不通的。
在每个项目的执行器/健康中,它总是报告:
我在 bootstrap.yml 和 application.yml 中都添加了 enabled: true
注意:配置服务器在 3.0.1 中,但客户端在 3.0.0 中。由于依赖关系,我无法升级客户端。欢迎任何建议或线索!
spring-cloud-config - 当 spring 云配置项刷新时,有没有办法在客户端知道能够重新计算一些东西?
使用spring cloud config,当我更新配置并在任何客户端上调用刷新时,有没有办法通知我发生了这种情况?如果我基于 some 构造对象@ConfigurationProperties
,我将希望使用这些分层属性的新状态来刷新这些对象。每次我需要引用配置道具时,我宁愿不执行查找;就我而言,最好在配置更改时刷新某些对象。那么,有没有办法进入刷新生命周期?
编辑:理想情况下,如果我能让一个@Configuration
班级知道刷新事件,并重新绑定/重新实例化一些相关@Bean
的 Spring ,那将是非常理想的!
java - Spring Cloud Configuration Server 不使用本地属性文件 - 需要使用复合配置
我正在配置新的spring config server
并收到以下错误。
我尝试了以下链接,但没有运气
Spring Cloud Config Server 配置与本地存储库
spring config server- 用于本地 git 存储库
https://medium.com/@danismaz.furkan/spring-cloud-config-with-file-system-后端-c18ae16b7ad5
引导程序属性
pom.xml
java - spring config客户端-启动客户端时无法解析值“$ {message}”错误中的占位符“消息”
我正在实施spring config server
。我的配置服务器启动正常,我可以从http://localhost:8888/client-config/development
位于C:\\configprop
如下所示的 URL 获取数据。
但是当我在config client
使用中获取数据时,http://localhost:8080/message
我得到了Could not resolve placeholder 'message' in value "${message}"
错误。
客户端应用程序
主班
控制器类
应用程序.yml
pom.xml
客户端配置 development.properties
spring - 如何从 Spring Cloud 客户端服务器使用 Spring Cloud 配置服务器 Jdbc 后端配置?
我浏览了很多关于此的教程,但无法完成。
这是我的表结构。
我有一个应该与 JDBC 后端集成的云配置服务器。这是我application.properties
的配置服务器
使用此配置,如果我输入http://localhost:8082/masking/dev/latest
响应将显示我想要的结果。
我想在客户端使用以下配置的属性bootstrap.properties
在我的客户端
这给java.lang.IllegalArgumentException: Could not resolve placeholder 'test-property' in value "${test-property}"
任何人都可以对此发表评论吗?
谢谢。
spring-boot - Spring Boot 配置客户端
使用 Spring Boot 开发微服务,目前正在致力于容器化我们的应用程序。但是,我似乎无法弄清楚 Cloud Config 客户端的最佳实践。
如何最好地更新 docker 容器的云配置服务器?
谢谢!