我有多个Cassandra集群。每个群集都有特定的联系点集。每个群集都有单独的表/ CF。
在我的C *客户端中,我应该查询两个集群。我正在使用Cassandra的spring-boot版本。我正在尝试使用CassandraOperations来执行查询。我该怎么做呢?
@Bean
public CassandraOperations cassandraTemplate(Session sessionA) throws Exception {
return new CassandraTemplate(sessionA);
}
@Bean
public CassandraMappingContext mappingContext() {
return new BasicCassandraMappingContext();
}
@Bean
public CassandraConverter converter() {
return new MappingCassandraConverter(mappingContext());
}
上面是一个例子,我使用sessionA设置cassandraoperations,如何为sessionB做同样的事情?
在任何给定的时间基地都不要查询,它可以转到sessionA或sessionB。
赞赏任何指针
由于
答案 0 :(得分:0)
通过为每个集群管理器创建单独的类来找到一种方法。
@Component
@Primary
public class CassandraTemplateA extends CassandraTemplate{
@Autowired
public CassandraTemplateA(CassandraConverter converter) {
super(sessionA, converter);
}
}
@Component
@Primary
public class CassandraTemplateB extends CassandraTemplate{
@Autowired
public CassandraTemplateB(CassandraConverter converter) {
super(sessionB, converter);
}
}