簡體   English   中英

Environment.getProperty null-Spring-Boot Spring-Cloud

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM