我在我的应用程序中使用spring-data-couchbase:2.0.0.RC1,但我有一些遗留代码依赖于Bucket对象并直接使用它。有没有办法从spring-data-couchbase获取Bucket对象?我在文档中找到了这个http://docs.spring.io/spring-data/couchbase/docs/2.0.0.RC1/reference/html/#couchbase.template,但无法弄清楚如何在我的应用中配置它。
我的春季配置对象如下......
@Configuration
public class SpringCouchbaseConfig extends AbstractCouchbaseConfiguration {
@Value("${scheduled.task.couchbase_sync.host}")
String host;
@Value("${scheduled.task.couchbase_sync.bucket}")
String bucket;
@Override
protected List<String> getBootstrapHosts() {
return Arrays.asList(this.host);
}
@Override
protected String getBucketName() {
return this.bucket;
}
@Override
protected String getBucketPassword() {
return "";
}
@Override
protected CouchbaseEnvironment getEnvironment() {
return DefaultCouchbaseEnvironment.builder()
.connectTimeout(TimeUnit.SECONDS.toMillis(10))
.computationPoolSize(6)
.build();
}
@Bean(name = "org.springframework.data.couchbase.core.convert.customConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
答案 0 :(得分:1)
如果您只配置一个Bucket
,则AbstractCouchbaseConfiguration
会声明@Bean
couchbaseBucket
类型Bucket
,因此您可以将其自动装配到您需要的位置它:
@Autowired
private Bucket myBucketUsedBySpringData;
如果你有CouchbaseTemplate
的引用(例如,也可以在某处自动连接),你也可以通过调用Bucket
来轻松获得支持getCouchbaseBucket()
。