如何使用基于注释的配置在Couchbase中配置多个bucket?

如何使用基于注释的配置在Couchbase中配置多个bucket?,couchbase,spring-data-couchbase,Couchbase,Spring Data Couchbase,在Couchbase文档中,下面给出了配置环境的示例。如果有多个桶,该怎么办 @配置 公共类配置扩展了AbstractCouchbaseConfiguration{ @凌驾 受保护列表getBootstrapHosts(){ 返回集合。单音列表(“127.0.0.1”); } @凌驾 受保护的字符串getBucketName(){ 返回“啤酒样品”; } @凌驾 受保护的字符串getBucketPassword(){ 返回“”; } }对于2.0.x分支中的多个Bucket,它当前的工作方式是

在Couchbase文档中,下面给出了配置环境的示例。如果有多个桶,该怎么办

@配置
公共类配置扩展了AbstractCouchbaseConfiguration{
@凌驾
受保护列表getBootstrapHosts(){
返回集合。单音列表(“127.0.0.1”);
}
@凌驾
受保护的字符串getBucketName(){
返回“啤酒样品”;
}
@凌驾
受保护的字符串getBucketPassword(){
返回“”;
}

}
对于
2.0.x
分支中的多个Bucket,它当前的工作方式是必须实例化第二个
Bucket
bean和相关的
CouchbaseTemplate
(这是最困难的部分):


之后,您可能还希望您的一些存储库使用第二个模板(和bucket)。目前也有一个实现(
RepositoryOperationsMapping
),但在即将推出的
2.0.0-RC
之前,它可能会有一些变化,所以我不会在这里详细介绍。

对于
2.0.x
分支中的多个bucket,它目前的工作方式是,您必须实例化第二个
Bucket
bean和相关的
CouchbaseTemplate
(这是最难的部分):


之后,您可能还希望您的一些存储库使用第二个模板(和bucket)。目前也有一个实现(
RepositoryOperationsMapping
),但在即将推出的
2.0.0-RC
之前,它可能会有一些变化,所以我不会在这里详细介绍。

感谢您的回复。如果我已经有了一个模板,为什么我需要一个Bucket bean?模板的目的不是封装Bucket并包装其操作吗?此外,我还可以使用getCouchbaseBucket方法获取Bucket——如果需要的话,除非您提到的映射中有任何特殊的东西需要一个Bucket bean。再次感谢如果您想存储到不同的bucket中,模板提供了对bucket操作的抽象,但它依赖于bucket,因此,没有办法创建对的引用one@SimonBaslé我使用的是spring.data.couchbase
3.0.6.RELEASE
,当我尝试添加多个bucket时,抛出密码不正确的异常。你能帮我一下吗?谢谢你的回复。如果我已经有了一个模板,为什么我需要一个Bucket bean?模板的目的不是封装Bucket并包装其操作吗?此外,我还可以使用getCouchbaseBucket方法获取Bucket——如果需要的话,除非您提到的映射中有任何特殊的东西需要一个Bucket bean。再次感谢如果您想存储到不同的bucket中,模板提供了对bucket操作的抽象,但它依赖于bucket,因此,没有办法创建对的引用one@SimonBaslé我使用的是spring.data.couchbase
3.0.6.RELEASE
,当我尝试添加多个bucket时,抛出密码不正确的异常。你能帮我一下吗。
//we want all User objects to be stored in a second bucket
//let's define the bucket reference...
@Bean
public Bucket userBucket() {
  return couchbaseCluster().openBucket("users", "");
}

//... then the template (inspired by couchbaseTemplate() method)...
@Bean
public CouchbaseTemplate userTemplate() {
  CouchbaseTemplate template = new CouchbaseTemplate(
    couchbaseClusterInfo(), //reuse the default bean
     userBucket(), //the bucket is non-default
    mappingCouchbaseConverter(), translationService() //default beans here as well
  );
  template.setDefaultConsistency(getDefaultConsistency());
  return template;
}