在不提供LoadingCache的情况下,refreshAfterWrite的默认值是什么。
cache = CacheBuilder.newBuilder().build(new CacheLoader<Object, Object>() {
@Override
public Object load(Object o) throws Exception {
return getObj(o);
}
@Override
public ListenableFuture<Object> reload(Object o) throws Exception {
final ListenableFutureTask<Object> task = ListenableFutureTask.create(() -> {
return getObj(o);
});
executor.execute(task);
return task;
}
});
我在调试中看到refreshAfterWrite为-1,但这意味着什么?这意味着它将永远不会重新加载?
答案 0 :(得分:0)
我可以从 this 问题中了解到:
<块引用>据记载,如果未设置任何选项,则会创建一个缓存 CacheBuilder 永远不会做任何类型的驱逐。这适用于 刷新也是如此,因为它是一种驱逐形式。