问题标签 [r2dbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
747 浏览

spring - 兼容版本spring cloud、r2dbc

我尝试将 spring 与 r2dbc 一起使用

这是我的 build.gradle

当调用 findAll of repository 时,会发生此错误

java.lang.NoSuchMethodError: org.springframework.transaction.reactive.TransactionSynchronizationManager.currentTransaction()Lreactor/core/publisher/Mono;

将版本更新为快照似乎可以解决有关事务的问题

0 投票
6 回答
4338 浏览

java - 使用 R2DBC 进行数据库迁移

我是 R2DBC ( https://r2dbc.io/ ) 的新手。我想知道r2dbc的生态系统是否有数据库迁移工具/框架。

似乎 Liquibase 和 Flyway 依赖于 JDBC。是否有计划允许这些框架支持 r2dbc 驱动程序?

欢迎任何输入或反馈。

0 投票
2 回答
2016 浏览

java - 可以手动将 JSON 或 JSONB postgresql 数据类型与 spring r2dbc 一起使用吗?

我用spring boot、webflux和r2dbc(postgresql)构建了一个新的api。我的一张表将有一个 json 或 jsonb 字段,用于存储动态 json 文档。

就目前而言,r2dbc 不支持 postgresql 数据库的 json 数据类型。我想知道是否可以使用它,为存储库编写一些代码。

我创建了一个简单的测试项目来尝试一下,但还没有运气。我能够通过在查询中使用org.springframework.data.r2dbc.core.DatabaseClient.execute()和包装 json 字段来保存 JSON 字段to_json(),但我以后无法读回它。

测试实体:

保存方法工作:

回读时出现异常:

0 投票
1 回答
874 浏览

spring-webflux - 使用 R2DBC 的动机是什么?

我对反应式弹簧堆栈非常陌生,目前正在探索R2DBC

你能解释一下在 / 中使用过度包装阻塞有什么好处R2dbcRepository吗?JpaRepositoryMonoFlux

让我举一些例子:

对比

执行上有什么概念上的区别吗?

0 投票
1 回答
1041 浏览

java - Spring + R2DBC:如何关闭 DatabaseClient 和 TransactionalOperator?

我可以使用以下方法在我的 Spring Boot 应用程序中创建 DatabaseClient 和 TransactionalOperator:

但是如何关闭 DatabaseClient 和 TransactionalOperator 并释放连接/资源?

这是在 Spring Boot 应用程序中为 R2DBC 创建数据库连接的最佳方式吗?

0 投票
3 回答
3762 浏览

java - 如何使用 R2dbc 从 Postgresql 中提取 jsonb 到 Spring webflux

所以我真的有这个想法,因为我只编程了一小段时间,但我想构建一个反应式 Spring webflux 应用程序,将 json 端点暴露给反应前端。

当我决定在 Postgres 中使用 jsonb 格式时,问题就开始了,因为我认为我可能会一直使用 json 从数据库一直到前端层。

当我尝试使用反应式 R2dbc 驱动程序使用 jsonb 选择表时,我收到以下错误:

我在 postgres 中有一个如下所示的表:

因此,如果我将其作为文本提取到 Spring webflux 它工作正常,因为它不再是 json。

我已经看到了一些关于如何使用较旧的阻塞驱动程序将 jsonb 转换为 json 对象的示例,但是我无法与较新的非阻塞驱动程序一起使用,我无法以任何方式访问它们。

所以我真的有 2 个问题,如何使用响应式驱动程序选择包含 jsonb 的表,我是否在浪费时间尝试这样做,将 json 提取为文本并从中创建一个正常的 POJO 就足够了吗?

谢谢你的时间!

0 投票
1 回答
447 浏览

spring-boot - 使用 spring-fu 批量插入 kotlin

我看了这个例子:

https://github.com/spring-projects/spring-fu/blob/cb7c60eae7c022fe066cfe8bf7fbfb752b9dd64b/samples/kofu-coroutines-r2dbc/src/main/kotlin/com/sample/Repositories.kt#L26

这工作正常。我想使用批量插入方法:

https://docs.spring.io/spring-data/r2dbc/docs/1.0.x/reference/html/#reference,第 11.7.2 节。插入数据

using (Publisher) 用于接受要插入的对象流。

所以我尝试了:

但这并没有做任何事情。为什么会这样,应该如何编写才能工作?

0 投票
5 回答
9449 浏览

java - postgres r2dbc-pool 的连接池大小

我无法使用 spring-webflux 和 r2dbc(使用 r2dbc-pool driver 0.8.0.M8)打开超过 10 个连接。我的配置看起来像:

当我指定超过 10 个连接时,我收到如下错误:

此外,连接数保持与初始大小相同。不会创建新连接。

0 投票
0 回答
576 浏览

spring - 先前配置的环境中的 R2dbc

我在 Tomcat 上有一个带有自动配置数据源的 Spring Boot 服务。

现在我正在探索响应式访问数据库的可能性。我的connectionFactory配置如下:

我的“道”如下:

控制器

当我在一些虚拟服务(只有两个类和控制器)中使用它时,一切都按预期工作。假人的Pom

但是当我尝试在现有服务中使用它时,我得到

从那个堆栈跟踪我无法理解这个问题。我看到postgresql甚至没有打开r2dbc-connection(来自pgAdmin,当虚拟打开它时)。jdbc 和 r2dbc 是否以某种方式发生冲突?还是 r2dbc 不能在 tomcat 上工作?还是与 HikariCP 冲突?

0 投票
1 回答
417 浏览

r2dbc - 查询注释的可分页用法

我可以在带有 @Query 注释的 Spring Data R2dbc 存储库中使用 Pageable 属性吗?例如;

它给出了“org.springframework.data.repository.query.ParameterOutOfBoundsException:无效的参数索引!您似乎声明的查询方法参数太少了!”

有什么方法可以在 Spring Data R2dbc 存储库中使用分页吗?

谢谢。