Spring Boot 2.4+/actuator/refresh时ApplicationContextInitializer回调无application.properties源
问题:Spring Boot Refresh端点调用时ApplicationContextInitializer属性源获取行为变更
从Spring Boot 2.4.x及Spring Cloud 2020.0.0开始,调用/actuator/refresh端点时,ApplicationContext的Environment不会为ApplicationContextInitializer实现类的回调提供基于application.properties的属性源,该行为延续至Spring Boot 3.0.x。而在Spring Boot 2.1.x至2.3.x版本中,回调可正常获取该属性源。
相关代码及测试用例说明
- Spring Boot 2.4.x回调方法实现:
spring-boot-24-refresh/src/main/java/dev/demo/springboot24refresh/bootstrap/CustomApplicationContextInitializer.java - Spring Boot 2.4.x失败测试用例:
spring-boot-24-refresh/src/test/java/dev/demo/springboot24refresh/main/SpringBoot24RefreshApplicationTest.java(第43行) - Spring Boot 2.1.x通过测试用例:
spring-boot-21-refresh/src/test/java/dev/demo/springboot21refresh/main/SpringBoot21RefreshApplicationTest.java(第43行) - 完整问题描述:
spring-boot-24-refresh/Readme.md - Spring Boot 2.4.x复现代码工程:
spring-boot-24-refresh - Spring Boot 2.1.x旧行为代码工程:
spring-boot-21-refresh
目前尚未定位到具体变更集,希望了解该行为的根因、是否为框架有意设计及相关建议。
内容的提问来源于stack exchange,提问作者jk.16
相关产品推荐
相关产品推荐

