我将 Spring boot 2.0.4 与 couchbase 服务器(企业 5.5)一起用作本地机器上的 docker 容器。我有一个扩展的配置类AbstractCouchbaseConfiguration,我在其中提供了沙发基集群/存储桶的详细信息。
存储库接口用@N1qlPrimaryIndexedand注释,@ViewIndexed(designDoc = "person", viewName = "all")我的 application.properties 文件有spring.data.couchbase.auto-index=true
据我了解,Spring Boot 应该能够自动创建主索引和视图。
这是我的配置类
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Value("${couchbase_host}")
private String hostname;
@Value("${couchbase_bucket}")
private String bucket;
@Override
@Bean(name = BeanNames.COUCHBASE_CLUSTER_INFO)
public ClusterInfo couchbaseClusterInfo() throws Exception {
return couchbaseCluster().authenticate("Administrator","password").clusterManager().info();
}
@Bean
public Cluster cluster() {
return CouchbaseCluster.create(getEnvironment(),hostname);
}
@Override
@Bean(destroyMethod = "close", name = BeanNames.COUCHBASE_BUCKET)
public Bucket couchbaseClient() throws Exception {
return couchbaseCluster().openBucket(getBucketName());
}
@Override
protected List<String> getBootstrapHosts() {
return Collections.singletonList(hostname);
}
@Override
protected String getBucketName() {
return bucket;
}
@Override
protected String getBucketPassword() {
return "password";
}
@Override
protected CouchbaseEnvironment getEnvironment() {
CouchbaseEnvironment environment = DefaultCouchbaseEnvironment.builder()
.connectTimeout(25000)
.queryTimeout(75000)
.kvTimeout(5000)
.socketConnectTimeout(40000)
.build();
return environment;
}
慕的地8271018
相关分类