编程语言
首页 > 编程语言> > java – Spring @Cacheable和@Async注释

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