响应式获取
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
在响应式编程模型中,查询不会被急切地执行并阻塞当前线程。相反,查询实现了一个 Publisher API,例如 JDK 9 的 java.util.concurrent.Flow.Publisher 或 Reactive Streams Publisher API。
当使用像 project reactor 这样的第三方响应式流 API 时,jOOQ 查询可以很容易地嵌入到 Flux 或 Mono 类型中,例如
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.Connection 或 io.r2dbc.spi.ConnectionFactory,那么发布者将在 R2DBC 驱动程序上以非阻塞方式执行查询。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!