java – Spring @Cacheable和@Async注释
作者:互联网
我需要缓存一些异步计算的结果.详细地说,为了克服这个问题,我试图使用Spring 4.3缓存和异步计算功能.
举个例子,我们来看下面的代码:
@Service
class AsyncService {
@Async
@Cacheable("users")
CompletableFuture<User> findById(String usedId) {
// Some code that retrieves the user relative to id userId
return CompletableFuture.completedFuture(user);
}
}
可能吗?我的意思是,Spring的缓存抽象是否会正确处理CompletableFuture< User>类型的对象?我知道Caffeine Cache有类似的东西,但我无法理解如果Spring正确配置它是否会使用它.
编辑:我对User对象本身不感兴趣,但是在表示计算的CompletableFuture中.
解决方法:
根据SPR-12967,不支持ListenableFuture(CompletableFuture).
标签:java,spring,completable-future,spring-cache,spring-async 来源: https://codeday.me/bug/20190527/1163016.html