Actual caching of null values in retrieve(key, valueLoader)
See gh-31637
This commit is contained in:
@@ -148,7 +148,14 @@ public class CaffeineCache extends AbstractValueAdaptingCache {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T> CompletableFuture<T> retrieve(Object key, Supplier<CompletableFuture<T>> valueLoader) {
|
||||
return (CompletableFuture<T>) getAsyncCache().get(key, (k, e) -> valueLoader.get());
|
||||
if (isAllowNullValues()) {
|
||||
return (CompletableFuture<T>) getAsyncCache()
|
||||
.get(key, (k, e) -> valueLoader.get().thenApply(this::toStoreValue))
|
||||
.thenApply(this::fromStoreValue);
|
||||
}
|
||||
else {
|
||||
return (CompletableFuture<T>) getAsyncCache().get(key, (k, e) -> valueLoader.get());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user