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

Spring Cloud Client not fetching configuraiton from spring cloud server

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

我的服务器application.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 回购链接在这里 Main Properties and Alternative Properties

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

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

其余控制器是:

@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";

    }
}

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

服务器运行正常,但客户端出现以下错误

Error creating bean with name 'rateController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'rate' in value "${rate}"

另请注意,我的 spring 应用程序名称“s1rates”与 station1/s1rates.properties.

下我的主存储库中的属性文件匹配

有什么提示吗?

我遇到了同样的问题,发现 post 很有帮助。

但是我会在这里巩固我的发现。

确保您的 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>

休息所有在多个 post 中给出的属性,通常没问题。

例如在客户端bootstrap.properties文件

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