我的数据人员给了我 http://127.0.0.1:8091/pools
url连接到我们的Couchbase服务器,我被告知 pools
后缀是集群中所有节点的地址 .
我正在使用Spring 4.2.0.RELEASE和spring-data-couchbase 2.0.0.M1对抗Couchbase 2.5.1企业版(build-1083)
现在,如果我将上面的url原样添加到getBootstrapHosts列表中:
@Override
protected List<String> getBootstrapHosts() {
return Collections.singletonList(couchbaseProperties.getHost());
}
我在 8091/pools
值上得到了数字格式异常 .
但是当使用 http://127.0.0.1:8091
url时,我收到了无效的密码异常 .
我估计第一个网址是用的,但不是我用的方式 .
可能我应该在AbstractCouchbaseConfiguration类中覆盖一个方法,但查看源代码并没有真正启发我 .
这是Couchbase配置类 .
@Configuration
@EnableCouchbaseRepositories(basePackages = { "com.thalasoft.data.couchbase.repository" })
@ComponentScan(nameGenerator = PackageBeanNameGenerator.class, basePackages = { "com.thalasoft.data.couchbase.config" })
@EnableTransactionManagement
public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration {
private static Logger logger = LoggerFactory.getLogger(CouchbaseConfiguration.class);
@Autowired
private CouchbaseProperties couchbaseProperties;
@Override
protected List<String> getBootstrapHosts() {
return Collections.singletonList(couchbaseProperties.getHost());
}
@Override
protected String getBucketName() {
return couchbaseProperties.getBucketName();
}
@Override
protected String getBucketPassword() {
return couchbaseProperties.getBucketPassword();
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
@Bean
public ValidatingCouchbaseEventListener validationEventListener() {
return new ValidatingCouchbaseEventListener(validator());
}
}
1 回答
您的数据库管理员为您提供连接的地址
127.0.0.1
这一事实看起来很奇怪,但如果群集的一个节点与客户端代码共同运行,则确实有效...这个基于url的语法是用于生成SDK的
1.4.x
的语法,并且2.x
中的配置确实有点不同(反映了Couchbase SDK在1.4.x和2.x之间的演变):您只需要提供主机名或者每个节点的ip以在列表中引导 .你应该尝试使用
"127.0.0.1"
. 您还可以指定存储桶名称和/或密码(请咨询管理员) . Spring Data Couchbase为每个使用的默认值是"default"
和""
(空密码),但是您可以从AbsctractCouchbaseConfiguration
覆盖getBucketName()
和getBucketPassword()
方法来更改它 .PS:
Spring Data Couchbase
文档可用here