[英]Environment.getProperty null - Spring-Boot Spring-Cloud
我有一個與org.springframework.core.env.Environment
自動連線的控制器。
@Controller public class RegistrationController{
@Autowired (required=false)
private ServiceA serviceA;
@Autowired
Environment env;
spring-boot模塊使用cloud-config-client配置。 它在啟動時從config-server讀取配置。
控制器以一種方法從環境中獲取值。
Integer.valueOf(env.getProperty("services.fixeddelay.val"));
但是,當我通過刷新端點/refresh
,環境中的屬性將為null。
經過幾次刷新后,它就會獲得價值。 用這種方式自動接線是否有問題? 我應該在這里使用@RefreshScope
嗎? 這個怎么運作。
問題spring.application.name
在從配置服務器加載的配置中的spring.application.name
屬性。 該屬性是錯誤地在config-server中給出的,盡管它在classpath:bootstrap.yml
具有適當的值。
第一次刷新后,將從環境中清除現有屬性。 第二次刷新后,將加載環境值。
從配置服務器屬性文件中刪除屬性spring.application.name
可以解決此問題。 現在即使沒有@RefreshScope
刷新也能正常工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.