首页 文章

如何在spring-data-couchbase中访问bucket对象?

提问于
浏览
0

我在我的应用程序中使用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但是无法弄清楚,如何在我的应用程序中配置它 .

我的spring配置对象如下......

@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());
    }

}

1 回答

  • 1

    如果您只配置一个 BucketAbstractCouchbaseConfiguration 将声明 @Bean 名为 couchbaseBucketBucket 类型,以便您可以在需要的地方自动装配它:

    @Autowired
    private Bucket myBucketUsedBySpringData;
    

    如果您有 CouchbaseTemplate 的引用(例如,也可以在某处自动连接),您也可以通过调用 getCouchbaseBucket() 轻松获得支持 Bucket .

相关问题