响应式获取
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
在响应式编程模型中,查询不会被急切地执行并阻塞当前线程。相反,查询实现了一个 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 驱动程序上以非阻塞方式执行查询。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!