对于最新的稳定版本,请使用 Spring Data Cassandra 4.4.0! |
反应式基础设施
反应式 Cassandra 支持包含广泛的功能:
-
使用基于 Java 的类的 Spring 配置支持。
@Configuration
-
ReactiveCqlTemplate
帮助程序类,该类通过正确处理常见的 Cassandra 数据访问操作来提高生产力。 -
ReactiveCassandraTemplate
helper 类,该类通过以反应方式使用来提高生产力。 它包括表和 POJO 之间的集成对象映射。ReactiveCassandraOperations
-
将异常转换为 Spring 的可移植 Data Access Exception Hierarchy。
-
与 Spring 的 Conversion Service 集成的功能丰富的对象映射。
-
基于 Java 的查询、条件和更新 DSL。
-
接口的自动实现,包括对自定义查找器方法的支持。
Repository
对于大多数面向数据的任务,您可以使用 或 存储库支持,它使用丰富的对象映射功能。 通常用于递增计数器或执行临时 CRUD 操作。 还提供了回调方法,以便轻松获取低级 API 对象,例如 ,这些方法允许您直接与 Cassandra 通信。
Spring Data for Apache Cassandra 对各种 API 中的对象使用 DataStax Java 驱动程序中的对象一致的命名约定,以便立即熟悉它们,以便您可以将现有知识映射到 Spring API 上。ReactiveCassandraTemplate
ReactiveCqlTemplate
ReactiveCqlTemplate
com.datastax.oss.driver.api.core.CqlSession
反应式使用分为两个阶段:组合和执行。
通过调用存储库方法,您可以通过获取实例和应用运算符来编写反应序列。
在您订阅之前,不会发生 I/O。
将反应式序列传递给反应式执行基础设施,例如 Spring WebFlux 或 Vert.x),订阅发布者并启动实际执行。
有关更多详细信息,请参阅 Project reactor 文档。Publisher
响应式组合库
反应式空间提供了各种反应式组合库。 最常见的库是 RxJava 和 Project Reactor。
Spring Data for Apache Cassandra 构建在 DataStax Cassandra 驱动程序之上。
驱动程序不是反应式的,但异步功能允许我们采用和公开 API,以依靠 Reactive Streams 计划提供最大的互操作性。
静态 API(如 )是使用 Project Reactor 的 and 类型提供的。
Project Reactor 提供了各种适配器来转换反应式包装器类型(往返),但转换很容易使代码变得混乱。Publisher
ReactiveCassandraOperations
Flux
Mono
Flux
Observable