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

时间:2015-11-11 06:51:19

标签: couchbase spring-data-couchbase

在Couchbase文档中,以下是配置环境的示例。如果有多个存储桶会怎么做?

@Configuration
public class Config extends AbstractCouchbaseConfiguration {

    @Override
    protected List<String> getBootstrapHosts() {
        return Collections.singletonList("127.0.0.1");
    }

    @Override
    protected String getBucketName() {
        return "beer-sample";
    }

    @Override
    protected String getBucketPassword() {
        return "";
    }
}

1 个答案:

答案 0 :(得分:0)

对于SELECT * FROM oc79_attribute_description WHERE attribute_id IN(44,45,46,47) 分支中的多个存储桶,它当前的工作方式是你必须实例化第二个2.0.x bean和相关的Bucket(这是最难的部分):

CouchbaseTemplate

之后,您可能还需要一些存储库来使用第二个模板(和存储桶)。目前还有一个实现(//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; } ),但它可能会稍微改变一下,直到即将到来的 RepositoryOperationsMapping ,所以我不会在那里详细介绍。