简体   繁体   English

无法使用 spring-cloud-config-server 从本地 git 存储库读取配置

[英]Unable to read configurations from local git repository using spring-cloud-config-server

I am using spring boot 2.4.5 and trying to configure spring cloud server to read property file from local git repository.我正在使用 spring 启动 2.4.5 并尝试配置 spring 云服务器以从本地 git 存储库读取属性文件。 Below links are for service startup and spring cloud server startup logs,以下链接用于服务启动和 spring 云服务器启动日志,

limits-service: https://drive.google.com/file/d/1U6o2UzdHDquyzsyUv0Im3h0RqbFXaCJG/view?usp=sharing限制服务: https://drive.google.com/file/d/1U6o2UzdHDquyzsyUv0Im3h0RqbFXaCJG/view?usp=sharing

spring-cloud-config-server: https://drive.google.com/file/d/1A5J0S7sZRMQfeb2Hv94slgt4o5xtjsEo/view?usp=sharing弹簧云配置服务器: https://drive.google.com/file/d/1A5J0S7sZRMQfeb2Hv94slgt4o5xtjsEo/view?usp=sharing

After all configurations, the URL, http://localhost:8888/limits-service/default returns 404 as below,完成所有配置后,URL、 http://localhost:8888/limits-service/default返回 404,如下所示,

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Whitelabel 错误页面 此应用程序没有针对 /error 的显式映射,因此您将其视为后备。

Thu May 20 14:07:14 IST 2021 There was an unexpected error (type=Not Found, status=404). IST 2021 年 5 月 20 日星期四 14:07:14 出现意外错误(类型=未找到,状态=404)。 No message available没有可用的消息

Code components:代码组件:

Class Limits: Class 限制:

package com.home.microservices.limitsservice.bean;


public class Limits {

  private int minimum;
  private int maximum;

  public Limits() {
    super();
  }

  public Limits(int minimum, int maximum) {
    super();
    this.minimum = minimum;
    this.maximum = maximum;
  }

  public int getMinimum() {
    return minimum;
  }

  public void setMinimum(int minimum) {
    this.minimum = minimum;
  }

  public int getMaximum() {
    return maximum;
  }

  public void setMaximum(int maximum) {
    this.maximum = maximum;
  }

  @Override
  public String toString() {
    return "Limits [minimum=" + minimum + ", maximum=" + maximum + "]";
  }
}

Controller: Controller:

package com.home.microservices.limitsservice.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.home.microservices.limitsservice.bean.Limits;
import com.home.microservices.limitsservice.Configuration;

@RestController
public class LimitsController {

  @Autowired
  private Configuration configuration;

  @GetMapping("/limits")
  public Limits retrieveLimits() {
    return new Limits(configuration.getMinimum(), configuration.getMaximum());
  }
}

Configuration:配置:

@Component
@ConfigurationProperties("limits-service")
public class Configuration {

  private int minimum;
  private int maximum;
  
  public int getMinimum() {
    return minimum;
  }

  public void setMinimum(int minimum) {
    this.minimum = minimum;
  }

  public int getMaximum() {
    return maximum;
  }

  public void setMaximum(int maximum) {
    this.maximum = maximum;
  }
}

application.properties(limits-service): application.properties(限制服务):

logging.level.org.springframework = debug
spring.application.name=limits-service
spring.config.import=optional:configserver:http://localhost:8888
limits-service.minimum=3
limits-service.maximum=997

pom.xml dependencies(limits-service): pom.xml 依赖项(限制服务):

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>
</dependencies>
class SpringCloudConfigServerApplication:

@EnableConfigServer
@SpringBootApplication
public class SpringCloudConfigServerApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringCloudConfigServerApplication.class, args);
  }
}

application.properties(spring-cloud-config-server): application.properties(spring-cloud-config-server):

logging.level.org.springframework = debug
spring.application.name=spring-cloud-config-server
server.port=8888
spring.cloud.config.server.git.uri=file:///D:/Learning/Microservices/git-localconfig-repo
spring.cloud.config.import-check.enabled=false

pom.xml dependencies(spring-cloud-config-server): pom.xml 依赖项(spring-cloud-config-server):

<dependencies>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
   </dependency>
</dependencies>

Git repo directory location(I use Windows): Git repo 目录位置(我使用 Windows):

D:\Learning\Microservices\git-localconfig-repo\limits-service.properties

Your read the application.properties file add Component field @value您阅读 application.properties 文件添加组件字段@value

 @Component
 @PropertySource("file:D:\Learning\Microservices\git-localconfig- 
 repo\application.properties")
 @ConfigurationProperties(prefix="limits-service")
 public class Configuration {

 @Value("${minimum}")
 private int minimum;
 @Value("${maximum}")
 private int maximum;

 public int getMinimum() {
 return minimum;
 }

 public void setMinimum(int minimum) {
 this.minimum = minimum;
 }

 public int getMaximum() {
 return maximum;
 }

 public void setMaximum(int maximum) {
  this.maximum = maximum;
  }
 } 

This file application.properties此文件 application.properties

logging.level.org.springframework = debug
spring.application.name=limits-service
spring.config.import=optional:configserver:http://localhost:8888
limits-service.minimum=3
limits-service.maximum=997

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法在 Spring 云配置服务器中从 GIT 读取属性源 - Unable to read property source from GIT in Spring cloud config server 无法将 Spring 云配置服务器连接到本地存储库 windows - Unable to connect Spring cloud config server to local Repository windows 使用多个 git url 启动 spring-cloud-config-server 组件 - To bring up a spring-cloud-config-server component with multiple git url 微服务不从 spring-cloud-config-server 微服务中获取属性 - microservice doesn't fetch properties from spring-cloud-config-server microservice 如何获取 Spring-Cloud-Config-Server 管理的文件列表 - How to get list of files managed by Spring-Cloud-Config-Server spring 配置服务器 - 用于本地 git 存储库 - spring config server- for local git repository Spring Cloud Config无法从私有git存储库获取配置 - Spring Cloud Config failed to get the configuration from private git repository 将 spring 云配置服务器连接到本地 git 存储库失败 - connecting spring cloud config server to local git repo failed 在 Spring 引导应用程序中使用 Spring 云配置服务器从 Bitbucket 存储库读取外部 YAML/JSON 文件 - Reading an external YAML/JSON File from Bitbucket Repository using Spring Cloud Config Server in a Spring Boot Application Spring Cloud Config无法使用git从本地gitlab获取配置 - Spring Cloud Config failed to get the configuration from local gitlab using git
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM