Reactive Infrastructure

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

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

  • ReactiveCqlTemplate 帮助程序类,通过正确处理常见的 Cassandra 数据访问操作,提高生产力。

  • ReactiveCassandraTemplate 助手类,通过以响应方式使用 ReactiveCassandraOperations 来提高效率。它包括表与 POJO 之间集成的对象映射。

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

  • 富特性的对象映射与 Spring 的 转换服务 集成。

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

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

对于大多数面向数据的任务,可以使用 ReactiveCassandraTemplate 或存储库支持,它们使用丰富的对象映射功能。ReactiveCqlTemplate 通常用于递增计数器或执行即席 CRUD 操作。ReactiveCqlTemplate 还提供回调方法,可以轻松获得低级 API 对象,例如 com.datastax.oss.driver.api.core.CqlSession,这让你可以直接与 Cassandra 通信。用于 Apache Cassandra 的 Spring Data 在各种 API 的对象上使用与 DataStax Java 驱动程序中找到的一致的命名约定,以便立即识别它们,以便你可以将现有知识映射到 Spring API。 响应式使用分为两个阶段:组成和执行。 调用存储库方法可让你通过获取 `Publisher`实例并应用运算符来组成反应序列。在订阅之前不会发生任何 I/O。将反应序列传递给反应执行基础设施,例如 Spring WebFluxVert.x),订阅发布者并启动实际执行。有关详细信息,请参阅 the Project reactor documentation

Reactive Composition Libraries

反应式空间提供各种反应式组合函数库。最常见的函数库为 RxJavaProject Reactor

适用于 Apache Cassandra 的 Spring Data 构建于 DataStax Cassandra Driver之上。该驱动程序不是反应式的,但其异步功能允许我们采用并公开 Publisher API,通过依赖 Reactive Streams 计划为最大化可交互性提供支持。通过使用 Project Reactor 的 FluxMono 类型提供诸如 ReactiveCassandraOperations 的静态 API。Project Reactor 提供各种适配器,用于转换反应式包装器类型(FluxObservable 并返回),但是转换很容易使代码变得混乱。