考虑以下服务,如何使用 / actuator / refresh 端点动态修改缓存配置
@Service
@Slf4j
public class GreetingService {
@Cacheable("greeting")
public String greet(String name) {
log.info("Greeting: {}", name);
return "Hello " + name ;
}
}
具有以下默认配置
spring
cache:
caffeine:
spec: maximumSize=100,expireAfterAccess=600s
让我们说设置为 maximumSize = 50,expireAfterAccess = 300s
在 GreetingService 中添加 @RefreshScope 无效。我需要以某种方式指示Spring Boot重新创建CacheManager吗?
我在这里有一个支持项目:
谢谢。
答案 0 :(得分:0)
您正在使用执行器,因此可能还存在cache actuator。因此,使用此命令进行案例测试:
curl 'http://server:port/actuator/caches/greeting' -i -X DELETE
注意:我没有测试过,这只是一个主意