使用Couchbase进行Spring缓存 - 此桶类型不提供视图

时间:2016-03-23 06:11:30

标签: java spring caching couchbase

我尝试将couchbase-spring-cache用于我的应用程序。遵循配置,但在我的应用程序启动它抛出此错误...

  

引起:org.springframework.beans.BeanInstantiationException:   无法实例化[org.springframework.cache.CacheManager]:   工厂方法' cacheManager'抛出异常;嵌套异常是   com.couchbase.client.core.ServiceNotAvailableException:视图不是   这种桶型可用。在   org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)     在   org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)     ... 47更多引起:   com.couchbase.client.core.ServiceNotAvailableException:视图不是   这种桶型可用。在   com.couchbase.client.core.node.locate.ViewLocator。(ViewLocator.java:34)     在   com.couchbase.client.core.RequestHandler。(RequestHandler.java:89)     在   com.couchbase.client.core.RequestHandler。(RequestHandler.java:136)     在   com.couchbase.client.core.CouchbaseCore。(CouchbaseCore.java:178)     在   com.couchbase.client.java.CouchbaseAsyncCluster。(CouchbaseAsyncCluster.java:262)

我有什么需要配置的吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您使用的是“memcached”类型的存储桶吗?

目前仅支持Couchbase类型的存储桶。 Spring Cache沙发基础实现和Spring Data Couchbase都依赖于viewsN1QL来实现API的某些功能,而这些功能在memcached类型的存储桶上不可用。

在缓存中,视图必须在同一个存储桶中并置多个缓存,并且仍然可以执行clear

我将更新自述文件以澄清这一点。替代方法可能是在memcache存储桶上使用flush,但这是非常具有破坏性的使用错误(您必须 100%确定 仅限单个缓存的数据存储在内存缓存桶中。因为清除缓存会删除备份桶中包含的所有文件。所以现在它并不是真正的路线图。