![](/img/trans.png)
[英]Unable to read property source from GIT in Spring cloud config server
[英]Unable to read configurations from local git repository using spring-cloud-config-server
我正在使用 spring 启动 2.4.5 并尝试配置 spring 云服务器以从本地 git 存储库读取属性文件。 以下链接用于服务启动和 spring 云服务器启动日志,
限制服务: https://drive.google.com/file/d/1U6o2UzdHDquyzsyUv0Im3h0RqbFXaCJG/view?usp=sharing
弹簧云配置服务器: https://drive.google.com/file/d/1A5J0S7sZRMQfeb2Hv94slgt4o5xtjsEo/view?usp=sharing
完成所有配置后,URL、 http://localhost:8888/limits-service/default返回 404,如下所示,
Whitelabel 错误页面 此应用程序没有针对 /error 的显式映射,因此您将其视为后备。
IST 2021 年 5 月 20 日星期四 14:07:14 出现意外错误(类型=未找到,状态=404)。 没有可用的消息
代码组件:
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:
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());
}
}
配置:
@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(限制服务):
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>
<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):
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 依赖项(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 目录位置(我使用 Windows):
D:\Learning\Microservices\git-localconfig-repo\limits-service.properties
您阅读 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;
}
}
此文件 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.