我的配置如下:
@Configuration
public class PropertyConfiguration {
@Bean
@Profile("local")
public static PropertyPlaceholderConfigurer propertyPlaceholderConfigurer() {
PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
configurer.setLocation(new FileSystemResource("path/to/resources/app-local.properties"));
configurer.setIgnoreUnresolvablePlaceholders(true);
return configurer;
}
}
我的app-local.properties
文件包含以下值:
cache.time.milliseconds=1000
所以,我访问的值为:
@Value("${cache.time.milliseconds}")
private long cachingTime;
我得到了正确的价值。
System.out.println(cachingTime);
现在,我想将cachingTime
更新为其他值并提供更新后的值。例如,从1000到99。
有没有办法在运行时更新此属性值?
或者除了重新启动应用程序或服务器之外,还有其他方法可以更新此值吗?
我使用的是Spring Boot 1.4.3.RELEASE。
我试图谷歌,但没有一个答案给了我解决方案。 :(
感谢您的帮助。
答案 0 :(得分:0)
如果要更改属性文件的值,它将不会影响运行时,因为所有配置都是在服务器启动时完成的,如果您不想重新部署代码库,则可以执行一项操作,更改属性文件值,然后重新启动服务器。
答案 1 :(得分:0)
您可以查看一次spring-boot管理员。虽然它充当监视服务器,但它使您能够更新属性和环境变量。
http://codecentric.github.io/spring-boot-admin/1.5.3/
附上一个截图,由代码中心人员提供概念证明。