可用版本:Dev (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12

响应式获取

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

在响应式编程模型中,查询不会被急切地执行并阻塞当前线程。相反,查询实现了一个 Publisher API,例如 JDK 9 的 java.util.concurrent.Flow.PublisherReactive Streams Publisher API。

当使用像 project reactor 这样的第三方响应式流 API 时,jOOQ 查询可以很容易地嵌入到 FluxMono 类型中,例如

List<String> authors =
Flux.from(create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
                .from(AUTHOR))
                .map(r -> r.get(AUTHOR.FIRST_NAME) + " " + r.get(AUTHOR.LAST_NAME))
                .collectList()
                .block();

开箱即用,所有 jOOQ 提供的发布者都将阻塞底层 JDBC 连接,但是如果您为 jOOQ 提供 io.r2dbc.spi.Connectionio.r2dbc.spi.ConnectionFactory,那么发布者将在 R2DBC 驱动程序上以非阻塞方式执行查询。

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo