我需要通过再次调用API来重新缓存过期的缓存
下面是我的缓存管理器配置
private CaffeineCache buildCache(
String name,
Ticker ticker,
int minutesToExpire
) {
return new CaffeineCache(name, Caffeine.newBuilder()
.refreshAfterWrite(minutesToExpire, TimeUnit.MINUTES)
.maximumSize(100)
.ticker(ticker)
.build());
}但是在启动应用程序时,它抛出了下面的异常
原因: java.lang.IllegalStateException: refreshAfterWrite需要LoadingCache
发布于 2020-08-28 18:25:45
您需要提供build方法的CacheLoader。
return new CaffeineCache(
name,
Caffeine.newBuilder()
.refreshAfterWrite(minutesToExpire, TimeUnit.MINUTES)
.maximumSize(100)
.ticker(ticker)
.build(key -> createExpensiveObject(key))
);CacheLoader是一个必须由您实现的类/方法。
https://stackoverflow.com/questions/54068958
复制相似问题