[英]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.