spring-webflux - 连接重用和事务(关系)

标签 spring-webflux spring-data-r2dbc r2dbc r2dbc-postgresql

R2DBC 如何实现事务处理。
据我所知,JDBC 对一个事务使用一个连接。因此,在 Spring MVC 中,我们有以下映射:1 个请求:1 个线程:1 个事务:1 个连接。
Webflux 与 R2DBC 的映射是什么? Webflux 是响应式的,所以当我们打开一个事务时,它是否使用一个连接直到事务结束?如果是这样,那么事务类似于阻塞操作,因为当事务处于事件状态时,没有其他事务可以重用 Spring Webflux 中的连接。
假设我们在 R2DBC 中定义了 10 个连接,10 个 Webflux 请求打开了 10 个长事务。以下所有 Webflux 请求是否会等待这 10 个事务之一的结束,或者多个 Webflux 请求(带事务)是否可以并行使用一个连接?

最佳答案

R2DBC 仅支持每个连接一个事务。主要原因——据我所知——是很多数据库系统只支持每个连接一个事务,因此在单个连接上多路复用事务是不可能的。

关于spring-webflux - 连接重用和事务(关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64729022/

相关文章:

java.lang.Integer 无法在 R2DBC mysql 模型类中转换为类 java.lang.Long

java - 您已在存储库中定义查询方法,但未定义任何查询查找策略。 Spring

java - 无法使用 WebFlux 在 Spring Boot 中使用 H2 和 R2DBC 创建 ConnectionFactory 错误

spring - 为 WebTestClient 禁用 TLS 证书检查

spring - Webflux Spring 2.1.2 自定义Content-Type

java - 如何立即从 Mono.zip 返回服务器发送的事件?

java - Postgres spring boot R2dbc应用程序中缺少DatabaseClient

java - Spring Data R2DBC 如何查询分层数据

spring - 使用 Postgresql 使用 Spring Data R2DBC 保存对象时如何检索生成的 ID