Я пытаюсь настроить несколько источников данных couchbase, используя springboot-data-couchbase.
Это способ, которым я пытался подключить два источника на базе couchbase с двумя репозиториями.
@Configuration
@EnableCouchbaseRepositories("com.xyz.abc")
public class AbcDatasource extends AbstractCouchbaseConfiguration {
@Override
protected List<String> getBootstrapHosts() {
return Collections.singletonList("ip_address_of_couchbase");
}
//bucket_name
@Override
protected String getBucketName() {
return "bucket_name";
}
//password
@Override
protected String getBucketPassword() {
return "user_password";
}
@Override
@Bean(destroyMethod = "disconnect", name = "COUCHBASE_CLUSTER_2")
public Cluster couchbaseCluster() throws Exception {
return CouchbaseCluster.create(couchbaseEnvironment(), "ip_address_of_couchbase");
}
@Bean( name = "BUCKET2")
public Bucket bucket2() throws Exception {
return this.couchbaseCluster().openBucket("bucket2", "somepassword");
}
@Bean( name = "BUCKET2_TEMPLATE")
public CouchbaseTemplate newTemplateForBucket2() throws Exception {
CouchbaseTemplate template = new CouchbaseTemplate(
couchbaseClusterInfo(), //reuse the default bean
bucket2(), //the bucket is non-default
mappingCouchbaseConverter(), translationService()
);
template.setDefaultConsistency(getDefaultConsistency());
return template;
}
@Override
public void configureRepositoryOperationsMapping(RepositoryOperationsMapping baseMapping) {
baseMapping
.mapEntity(SomeDAOUsedInSomeRepository.class, newTemplateForBucket2());
}
}
similarly:
@Configuration
@EnableCouchbaseRepositories("com.xyz.mln")
public class MlnDatasource extends AbstractCouchbaseConfiguration {...}
Теперь проблема в том, что не существует прямого способа указать источник данных на основе пространства имен путем присоединения различных bean-компонентов к этим конфигурациям, как в springdata-jpa, поскольку springdata-jpa поддерживает эту функцию с помощью entity-manager-factory-ref иaction-manager -REF.
Due to which only one configuration is being picked whoever comes first.
Any suggestion is greatly appreciated.
Смежный вопрос: Использование Spring Data Couchbase для подключения к различным кластерам Couchbase