как использовать expireAfterAccess с CacheBuilder в гуаве - PullRequest
1 голос
/ 06 ноября 2011

У меня есть следующий код:
new MapMaker().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).makeMap();

В guava 10 говорится, что он устарел и должен быть заменен на CacheBuilder.Какой новый синтаксис для этого?

Ответы [ 3 ]

3 голосов
/ 15 ноября 2011

Новый синтаксис будет выглядеть как

Cache<K, V> cache = CacheBuilder.newBuilder().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).build();
3 голосов
/ 06 ноября 2011

Читая документацию, я думаю, вы могли бы просто использовать аналогичные методы и передать загрузчик, который всегда выдает исключение.Затем вы вызываете asMap(), чтобы получить карту, на которой вы сможете поместить свои ключи и значения и сохранить ее в кеше.

1 голос
/ 07 ноября 2011

В версии 11.0 для Гуавы будет CacheBuilder.build():

http://docs.guava -libraries.googlecode.com / git / javadoc / com / google / common / cache / CacheBuilder.html

До этого, к сожалению, необходимо использовать asMap().

...