我试图用咖啡因创建一个简单的(非加载)缓存。
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>
任何建议都将不胜感激。
答案 0 :(得分:7)
您似乎导入了ElasticSearch的缓存接口以分配缓存构建器的结果。您展示的构建器语法是Guava的CacheBuilder
。由于许多用户会使用Guava并且可能会迁移,因此构建器称为Caffeine
以减少混淆。
您应该能够构建像
这样的缓存Cache<String, MyObject> countsCache = Caffeine.newBuilder().build();