刷新自定义PropertySource

时间:2017-07-14 02:17:08

标签: spring properties refresh spring-cloud ttl

我正在寻找一种在使用Spring的PropertySource注释时刷新自定义@Value的方法。我们在bean中包含所有属性的属性,每个属性都注释为@Value。我们的实现有自己的本地缓存,每个属性都有一个TTL。

配置是在外部管理的(通过Consul),因此当TTL到期时,新值将生效,这将是很好的。了解我可以使用Spring Cloud的@RefreshScope并调用Spring Actuator端点来执行此操作,我宁愿绕过@ValuePropertySource本身前面的任何逻辑,只需调用直接getProperty()的{​​{1}}方法。

由于所有属性在启动时都会加载具有此批注的内容,因此延迟执行加载也是一件好事。只有在调用时获取属性,然后我们的属性管理器才会看到TTL何时到期,并在新值不可用时重新缓存旧值。

0 个答案:

没有答案