简体   繁体   English

如何在Spring Boot和Spring Data中使用两个Cassandra数据源?

[英]How can I use two Cassandra datasources with Spring Boot and Spring Data?

Is there any way to connect a Spring Boot application to two different Cassandra data sources by using Spring Boot and Spring Data? 是否可以通过使用Spring Boot和Spring Data将Spring Boot应用程序连接到两个不同的Cassandra数据源?

I tried to configure 2 different data sources but Spring Boot chooses the first one and ignores the other. 我尝试配置2个不同的数据源,但是Spring Boot选择第一个,而忽略另一个。

Thank you 谢谢

Spring Boot supports out of the box only singleton data sources and it configures a single Session with a single CassandraTemplate . Spring Boot仅支持开箱即用的数据源,并且使用单个CassandraTemplate配置单个Session

Since Spring Data 2.0, CassandraTemplate supports a SessionFactory that can route calls to different Cassandra Session s. 从Spring Data 2.0开始, CassandraTemplate支持SessionFactory ,该SessionFactory可以将调用路由到不同的Cassandra Session That's something you need to configure yourself: 您需要对自己进行配置:

@Configuration
class MyConfig {

  @Bean
  CassandraTemplate cassandraTemplate(CassandraConverter converter) {
    SessionFactory factory = …;
    return new CassandraTemplate(factory, converter);
  }
}

You might want to take a look into AbstractRoutingSessionFactory for building your own Session router. 您可能想看看AbstractRoutingSessionFactory来构建自己的Session路由器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM