Невозможно создать простой кеш с кофеином
Я пытаюсь создать простой (не загружаемый) кеш с кофеином.
Cache<String, MyObject> countsCache =
CacheBuilder.newBuilder().build();
Это не в состоянии скомпилировать с сообщением об ошибке:
Error:(42, 31) java: incompatible types:
no instance(s) of type variable(s) K1,V1 exist so that org.elasticsearch.common.cache.Cache<K1,V1> conforms to com.github.benmanes.caffeine.cache.Cache<java.lang.String,com.foo.bar.MyObject>
Любые предложения будут ценны.
1 ответ
Решение
Похоже, что вы импортировали интерфейс кэша ElasticSearch, чтобы присвоить результат построителю кэша. Синтаксис строителя, который вы показали, - это Guava CacheBuilder
, Поскольку многие пользователи имеют Guava и могут мигрировать, сборщик называется Caffeine
чтобы уменьшить путаницу.
Вы должны быть в состоянии построить кеш, как,
Cache<String, MyObject> countsCache = Caffeine.newBuilder().build();