当前位置: 首页 > 知识库问答 >
问题:

在spring boot 2.4中从配置服务器读取属性

贲言
2023-03-14

我目前在spring boot 2.3中有以下实现。但当我将其迁移到spring boot 2.4时。未从配置服务器读取属性。

密码

@ConditionalOnProperty({"app.xzy.hosts"})
public class clientConfig { 
 // implementation
}

bootstrap.yml

spring:
 cloud:
  config:
   uri: http://main-config-server.com
   username: user
   password: pass
   fail-fast: true

应用yml公司

app:
 xyz:
  hosts: ${app.main.config.hosts}

application.yml配置服务器

app:
 main:
  config
   hosts: http://myhost.com

这个实现在spring boot 2.3中运行良好。但是在升级到spring boot 2.4之后,在启动时出现了以下错误。

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'app.xzy.hosts' in value "${app.main.config.hosts}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:178)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
   

共有1个答案

钱稳
2023-03-14

终于弄清楚了问题。

独自创立默认情况下,yml文件不再启用。您需要通过在spring cloud 2020.0.0中添加新的依赖项来启用它,它解决了我的问题。

   <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>

参考:https://spring.io/blog/2020/10/07/spring-cloud-2020-0-0-m4-aka-ilford-is-available

 类似资料:
  • 我有一个共享库,它需要来自的一些属性。属性文件。Spring Boot应用程序将使用此共享库。我们已经有了一个Spring云配置服务器,它为这个Spring Boot应用程序提供属性。 现在,我们还希望从配置服务器获取库的属性,而不是将其属性文件与库jar文件一起打包。 我可以让我的库文件从Spring Cloud Config服务器获取属性吗?Spring Cloud Config服务器留档声明

  • 我的Spring云配置服务器在尝试使用http://localhost:8080/application/default访问属性文件内容时抛出以下错误 我的申请。配置服务器中的属性如下所示 <代码>Spring。云配置。服务器吉特。uri=/Users/joe/MyProgs/Java/spring ws/config,我甚至尝试了这个spring。云配置。服务器吉特。uri=${HOME}/My

  • 我正在运行jeter分布式测试。我有很多组合要测试,所以创建了属性文件(. properties)来执行不同的测试。 例如:我有1台主机和2台从机。我将jmx脚本保存在主机中,并将测试数据保存在所有从机中 在所有从机中启动jmeter-server 使用以下命令从master运行分布式测试"jmeter-n-tscript.jmx-pcondition1.properties-R SlaveIP1

  • 问题内容: 我正在尝试从我的wildfly配置文件夹中的属性文件中读取特定于部署的信息。我尝试了这个: 但是显然这不起作用,因为配置文件夹不再位于类路径中。现在我找不到一种简单的方法。我最喜欢的是这样的: 到目前为止,我在网上找到的唯一解决方案是制作自己的OSGi模块,但是我相信必须有一种更简单的方法来实现(一个没有OSGi!)。谁能告诉我如何? 问题答案: 如果要从配置目录(例如或)中显式读取文

  • 我在生产环境中使用redis server,在HA中使用redis Sentinel。但是阅读文档,当客户机连接到sentinel时,sentinel将主redis服务器提供给客户机。 是所有的读写操作都在主服务器上进行,而从服务器只用于故障转移,还是我们可以使用从服务器读取数据?

  • 我在曼宁的练习中练习docker。 技术配方是关于配置jenkins从站,即docker容器。 以下是jenkins_slave 我使用命令构建docker映像 然后,我使用命令将docker映像作为容器运行 然后,我使用下面的docker命令运行jenkins服务器 以下是节点配置详情 - 然后,我收到一条错误消息,说这个代理处于脱机状态,因为Jenkins未能在其上启动代理进程 下面是错误堆栈