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

Spring云配置:客户端不尝试连接到配置服务器

太叔航
2023-03-14

我正在尝试创建一个简单的Spring Cloud Config服务器/客户端设置,并松散地遵循留档:

https://cloud.spring.io/spring-cloud-config/reference/html/

到目前为止,我已经实现了一个似乎工作正常的服务器,即在调用相应endpoint时返回正确的属性值:

GET http://localhost:8888/config-client/development

{
  "name": "config-client",
  "profiles": [
    "development"
  ],
  "label": null,
  "version": null,
  "state": null,
  "propertySources": [
    {
      "name": "classpath:/config/config-client-development.properties",
      "source": {
        "user.role": "Developer"
      }
    }
  ]
}

然而,我没有任何运气让客户端连接到服务器。我做了以下工作:

  1. 添加了spring-cloud d-starter-config依赖项:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
spring.application.name=config-client
spring.profiles.active=development
spring.cloud.config.uri=http://localhost:8888

但我仍然得到一个

java.lang.IllegalArgumentException: Could not resolve placeholder 'user.role' in value "${user.role}"

当尝试运行客户端应用程序时。

应用程序日志中没有任何内容看起来像是客户端正在尝试与配置服务器进行通信。

链接到再现问题的最小GitHub存储库:https://github.com/Bragolgirith/spring-cloud-minimal

复制步骤:

    < li >构建并运行< code>config-service应用程序 < li >构建并运行< code>config-client应用程序

知道我做错了什么吗?

共有1个答案

陆博易
2023-03-14

好吧,谜团解决了。

似乎一周前(https://spring.io/blog/2020/10/07/spring-cloud-2020-0-0-m4-aka-ilford-is-available)发布了一个新的Spring Cloud版本,它有一种激活引导过程的新方法——现在默认情况下不会发生,但需要添加一个额外的依赖项:

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

虽然这个新版本现在是使用Spring Initializr时的默认版本,但文档仍然没有更新以反映这些变化——它们只是在发行说明中简要提到。

作为使用上述spring-cloud d-starter-bootstrap依赖项和bootstrap.properties文件的替代方案,现在似乎也可以使用以下内容(甚至是首选):

应用程序.属性

spring.application.name=config-client
spring.profiles.active=development
spring.config.import=configserver:http://localhost:8888
 类似资料:
  • 我有一个短期任务,客户端到spring云配置。(依赖于spring cloud starter配置或spring cloud配置客户端)。 正如我提到的,这是一个短暂的任务,它启动、从服务器加载配置、进行一些处理并关闭。 问题是spring-cloud d-config-Client启动Web服务器(tomcat),这是冗余的-我不想在我的客户端应用程序/任务上启动Web服务器。 我知道这个Web

  • 我是Spring Cloud的新手,我正在尝试使用存储在github上的属性文件连接服务器和客户端。 我的服务器应用程序。yml文件的配置如下: github回购协议链接在这里,主要属性和替代属性 我的客户端应用程序具有以下设置 Rest控制器是: 所有${变量}van都可以在位于git存储库中的属性文件中找到。 服务器运行正常,但是客户端给了我以下错误 创建名为“rateController”的

  • 配置客户端无法解析配置属性,无法连接到配置服务器。下面是我的服务application.properties文件: pom.xml中的依赖关系:

  • 在这里,我使用rancher和docker compose来初始化spring cloud config客户端和服务器,但当spring cloud config server未就绪时,客户端启动失败,需要在服务器就绪时重新启动。我想问,当服务器准备就绪时,是否有任何机制可以让SpringCloudConfig客户端重新加载或重新启动?

  • 我在连接到存储配置的存储库时,在Spring云配置服务器(Spring引导)日志中看到问题。我不确定它是否由于凭据或其他原因而无法克隆(不允许git-upload-pack)。任何指向此的指针都将很棒。 配置服务器应用程序的Spring启动应用程序属性如下所示 - endpoint返回以下响应:

  • 出现此错误信息: 查询错误:org.apache.hadoop.hive.ql.metadata.hiveException:MetaException(消息:Got Exception:java.net.ConnectionException从undefined.hostname.localhost/192.168.xx.xxx调用到localhost:9000在连接异常:java.net.co