如何将两个 Cassandra 数据源与 Spring Boot 和 Spring Data 一起使用?

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

有什么方法可以使用 Spring Boot 和 Spring Data 将 Spring Boot 应用程序连接到两个不同的 Cassandra 数据源?

我尝试配置 2 个不同的数据源,但 Spring 引导选择第一个而忽略另一个。

谢谢

Spring Boot 仅支持开箱即用的单例数据源,它使用单个 CassandraTemplate.

配置单个 Session

由于 Spring Data 2.0,CassandraTemplate 支持 SessionFactory 可以将呼叫路由到不同的 Cassandra Session。那是你需要自己配置的东西:

@Configuration
class MyConfig {

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

您可能想查看 AbstractRoutingSessionFactory 以构建您自己的 Session 路由器。