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

Spring云客户端未从Spring云服务器获取配置

陈康胜
2023-03-14

我是Spring Cloud的新手,我正在尝试使用存储在github上的属性文件连接服务器和客户端。

我的服务器应用程序。yml文件的配置如下:

---
server:
  port: 8888
spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/JonEasy/pluralsight-spring-cloudconfig-wa-tolls.git
          #username: uname
          #password: pass
          search-paths:
            - 'station*'
          repos:
            perf:
              pattern:
                - '*/perf'
              uri: https://github.com/JonEasy/pluralsight-spring-cloudconfig-wa-tolls-perf.git
              search-paths:
                - 'station*'

github回购协议链接在这里,主要属性和替代属性

我的客户端应用程序具有以下设置

spring.application.name=s1rates
spring.profiles.active=default
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.enabled= true

Rest控制器是:

@Controller
public class RateController {

    @Value("${rate}")
    String rate;

    @Value("${lanecount}")
    String lanecount;

    @Value("${tollstart}")
    String tollstart;


    @RequestMapping("/rate")
    public String getRate(Model m) {

        m.addAttribute("rateamount", rate);
        m.addAttribute("lanes", lanecount);
        m.addAttribute("tollstart", tollstart);

        //name of the view
        return "rateview";

    }
}

所有${变量}van都可以在位于git存储库中的属性文件中找到。

服务器运行正常,但是客户端给了我以下错误

创建名为“rateController”的bean时出错:自动连线依赖项的注入失败;嵌套的例外是java。lang.IllegalArgumentException:无法解析值“${rate}”中的占位符“rate”

还要注意,我的Spring应用程序名称“s1rate”与我的主存储库中的属性文件匹配,位于Station 1/s1rates.properties.

有什么提示吗?

共有1个答案

翟棋
2023-03-14

我也面临同样的问题,觉得这篇文章很有帮助。

然而,我将在这里巩固我的发现。

确保您的spring云客户端具有正确的pom。xml文件。

<parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-parent</artifactId>
        <version>2020.0.0</version>
</parent>

并添加依赖项

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

其余多篇文章中给出的所有属性一般都可以。

例如在客户bootstrap.properties文件中

spring.application.name=s1rates
spring.profiles.active=default
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.enabled= true
 类似资料:
  • 在这里,我使用rancher和docker compose来初始化spring cloud config客户端和服务器,但当spring cloud config server未就绪时,客户端启动失败,需要在服务器就绪时重新启动。我想问,当服务器准备就绪时,是否有任何机制可以让SpringCloudConfig客户端重新加载或重新启动?

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

  • 我有一个web应用程序,我想使用Spring Boot的服务器配置。这两个应用程序都位于本地主机上。我从头开始创建了前两个应用程序,它们一起工作,但当我使用具有许多依赖项(不仅仅是云配置和web依赖项)的客户端时,它就不再工作了。我怎么知道?我在服务器的属性文件中有一个变量,我试图在我的客户机中用@Value(“${atena}”)来使用它,错误出现在java中。lang.IllegalArgum

  • 我正在使用Spring Cloud Config服务器,能够检测来自git存储库的更改并将其传递给配置客户机。 有两种方法,我已经实现了: null 所以两者都工作得很好,那么使用Spring Cloud Bus有什么好处吗?或者在生产环境中,不使用Spring Cloud Bus会有什么问题吗?因为将需要额外的工作来设置RabbitMQ集群(HA)作为生产中的Spring云总线。 谢谢,大卫

  • 我正在尝试创建一个简单的Spring Cloud Config服务器/客户端设置,并松散地遵循留档: https://cloud.spring.io/spring-cloud-config/reference/html/ 到目前为止,我已经实现了一个似乎工作正常的服务器,即在调用相应endpoint时返回正确的属性值: 然而,我没有任何运气让客户端连接到服务器。我做了以下工作: 添加了依赖项: 但

  • 当我运行Spring Cloud Config Client项目config-client时,我发现了以下错误: 启动ApplicationContext时出错。若要显示自动配置报告,请在启用“debug”的情况下重新运行应用程序。2018-02-09 10:31:10.923错误13933--[main]O.S.Boot.SpringApplication:应用程序启动失败 显然,配置服务器是错