我尝试将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)
我有什么需要配置的吗?提前谢谢。
答案 0 :(得分:1)
您使用的是“memcached”类型的存储桶吗?
目前仅支持Couchbase
类型的存储桶。 Spring Cache沙发基础实现和Spring Data Couchbase都依赖于views
和N1QL
来实现API的某些功能,而这些功能在memcached
类型的存储桶上不可用。
在缓存中,视图必须在同一个存储桶中并置多个缓存,并且仍然可以执行clear
。
我将更新自述文件以澄清这一点。替代方法可能是在memcache存储桶上使用flush
,但这是非常具有破坏性的使用错误(您必须 100%确定 仅限单个缓存的数据存储在内存缓存桶中。因为清除缓存会删除备份桶中包含的所有文件。所以现在它并不是真正的路线图。