いくつかの非同期計算の結果をキャッシュする必要があります。詳細には、この問題を克服するために、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 のキャッシング抽象化は type のオブジェクトを正しく処理しますCompletableFuture<User>
か? Caffeine Cacheにそのようなものがあることは知っていますが、Spring が適切に構成されている場合にそれを使用するかどうかはわかりません。
編集User
:オブジェクト自体には興味がありませんがCompletableFuture
、計算を表す に興味があります。