这是构建缓存的方式:
appsCache = Caffeine.newBuilder()
.writer(this)
.maximumSize(10)
.expireAfterWrite(Duration.ofSeconds(64000))
.build(this);
在我的测试中,我正在加载10个项目,然后等待(无限循环+睡眠)。
问题是write()
永远不会被调用。我什至试图打电话给cleanUp()
,但也无济于事。
为什么不触发write()
?
[Writer仅在更改输入时调用]
当创建,更改或删除条目时,通知CacheWriter 未传送已加载(例如,LoadingCache.get),重新加载(例如,LoadingCache.refresh)或已计算(例如,Map.computeIfPresent)的映射。