Как кто-то использует CacheLoader Guava асинхронно - PullRequest
5 голосов
/ 25 октября 2011

Вопрос говорит сам за себя, я бы хотел использовать CacheBuilder, но мои значения вводятся асинхронно.Ранее это работало с MapMaker, так как CacheLoader не был обязательным.Теперь я хотел бы знать, могу ли я взломать это или есть какие-нибудь не осуждаемые альтернативы.Спасибо.

Ответы [ 2 ]

5 голосов
/ 26 октября 2011

Я думаю, что вы пытаетесь задать вопрос: «Как я могу использовать CacheBuilder без указания CacheLoader?» Если это так, то будет поддержка этого в выпуске 11.0 Guava. Тем временем метод build () в CacheLoader уже зарегистрирован в транке (по состоянию на это утро):

http://docs.guava -libraries.googlecode.com / мерзавец / Javadoc / COM / Google / общие / кэш / CacheBuilder.html

1 голос
/ 18 октября 2013

Один из методов - сделать с общими параметрами K и V желаемыми выходными данными:

LoadingCache<K, ListenableFuture<V>> values = CacheBuilder.newBuilder()
   .build(
       new CacheLoader<K, ListenableFuture<V>>() {
         public ListenableFuture<V> load(K key) {
           /* Get your future */
         }
       });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...