响应式 Cassandra 支持包含广泛的功能:

  • 使用基于 Java 的类的 Spring 配置支持。@Configuration

  • ReactiveCqlTemplate帮助程序类,通过正确处理常见的 Cassandra 数据访问操作来提高工作效率。

  • ReactiveCassandraTemplate帮助程序类,通过以响应方式使用来提高生产力。 它包括表和 POJO 之间的集成对象映射。ReactiveCassandraOperations

  • 将异常转换为 Spring 的可移植数据访问异常层次结构

  • 功能丰富的对象映射与 Spring 的转换服务集成。

  • 基于 Java 的查询、条件和更新 DSL。

  • 自动实现接口,包括支持自定义查找器方法。Repository

对于大多数面向数据的任务,您可以使用 或 存储库支持,它使用丰富的对象映射功能。 通常用于递增计数器或执行临时 CRUD 操作。 还提供了回调方法,使获取低级 API 对象(如 )变得容易,这些方法允许您直接与 Cassandra 通信。 Spring Data for Apache Cassandra 对各种 API 中的对象使用与 DataStax Java Driver 中的对象一致的命名约定,以便它们立即熟悉,并且您可以将现有知识映射到 Spring API 上。ReactiveCassandraTemplateReactiveCqlTemplateReactiveCqlTemplatecom.datastax.oss.driver.api.core.CqlSession

被动使用分为两个阶段:组合和执行。

通过调用存储库方法,您可以通过获取实例和应用运算符来编写响应式序列。 在您订阅之前,不会发生 I/O。 将反应式序列传递给反应式执行基础结构(如 Spring WebFluxVert.x)将订阅发布者并启动实际执行。 有关详细信息,请参阅项目反应堆文档Publisher

反应式组合库

反应空间提供了各种反应式组合库。 最常见的库是 RxJavaProject Reactor

Spring Data for Apache Cassandra 建立在 DataStax Cassandra 驱动程序之上。 驱动程序不是响应式的,但异步功能允许我们采用和公开 API,以依靠响应式流计划提供最大的互操作性。 静态 API(如 )是使用 Project Reactor 的和类型提供的。 Project Reactor 提供了各种适配器来转换反应式包装器类型(来回转换),但转换很容易使代码混乱。PublisherReactiveCassandraOperationsFluxMonoFluxObservable