问题标签 [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 投票
0 回答
356 浏览

spring-data - Spring Data R2DBC - 没有考虑背压?

该线程是 Github 问题的延续:https ://github.com/spring-projects/spring-data-r2dbc/issues/194

语境:

你好,

我刚刚尝试了一个非常简单的示例,它基于两个反应式存储库:

给定 br一个 r2dbc crud repo 和cr另一个 r2dbc crud repo:

此代码示例永远不会完成(只有前 250 个左右的条目到达.collectList操作员)。经过一番挖掘,在 之后添加一些onBackpressureXXX运算符findAll似乎可以通过...删除元素或缓冲它们来“解决”问题。

在这一点上,我的理解是 r2dbc 反应式存储库不使用消费者反馈机制,这消除了 r2dbc 的大部分好处。

我错了吗 ?有没有更好的方法来实现相同的目标?

谢谢 !


来自@mp911de 的建议:

作为一般规则,避免在另一个流处于活动状态时创建流(著名引用:不要跨越流)。

如果您想获取相关数据,那么理想情况下将所有结果收集为 List 和运行子查询。这样,初始响应流被消耗并且连接可以自由地获取额外的结果。

类似以下代码段的内容应该可以完成这项工作:


但这消除了流式传输数据而不将其全部保存在内存中的好处(我的最后一步不是列出,而是流式写入以输出到某个文件)。

对此有任何帮助吗?

0 投票
1 回答
1977 浏览

spring - @enabler2dbcrepositories 无法找到我的存储库

我正在将我的数据库管理从阻塞迁移到非阻塞(异步)api spring data r2dbc。但是我需要解决一些问题吗?

这是我尝试过的: 1.更改 R2DBC 和其他反应堆的依赖项。2.更改了该项目的springboot版本,您可以在我以前的项目中查看下面的pom.xml(但由于一些损坏的类,我已经删除了该项目)这很好用,但现在它不起作用。3. 多次更改 springframework 版本,我知道 R2DBC 仅适用于 5.2.0.RC2,但不知道它仍然无法正常工作。4.run maven clean install 但没什么大不了的。下面是我的代码。

这是我的 pom.xml:

现在这里是我的 springbootapplication 主类

我使用我的 ReactiveCrudRepository(resultrepo1) 的类

我的结果repo1

这是我的整个过程。我第二次使用spring r2dbc,但不知道为什么我卡在这里,我确定这是一个依赖问题。我也在我的 github 帐户上发布了这个,但它仍然开放等待回复。请帮我解决这个问题。

这是我在应用程序启动时遇到的错误:

我第二次使用spring r2dbc,但不知道为什么我卡在这里,我确定这是一个依赖问题。请帮我解决这个问题。

0 投票
1 回答
335 浏览

java - R2DBC 数据库客户端未调用 doOnSuccess 或终止嵌套调用

代码到达“填充要执行的迁移”日志。然而,没有任何 AAA、EEE 和 CCC 日志被访问,因此 doOnSuccess 中没有代码正在运行。任何有关如何解决此问题的帮助将不胜感激。

0 投票
4 回答
6150 浏览

oracle - R2DBC - Oracle 数据库支持

我在搜索反应式关系数据库驱动程序时发现了 R2DBC,但我看不到任何 Oracle DB 驱动程序。有人知道是否提供支持吗?

0 投票
1 回答
128 浏览

java - Java、Postgres、Redis:PostConstruct 没有完全工作?

我想从 Postgres 表中填充 Redis,并有一个可行的方法。我希望此方法在应用程序启动时运行。但是,当我尝试使用@PostConstruct时,似乎运行该方法但没有成功。我正在使用 R2DBC 连接 Postgres。

我通过创建一个调用此方法的端点对此进行了测试。启动时,我会看到打印的“测试”消息,这意味着该方法已执行。但是,没有填充 Redis。但是当我到达端点时,我看到“测试”消息并且 Redis 已填充。有没有搞错?

看起来locationPostgresRepository.findAll()只有在启动时才返回空。我在上面的方法以及我的 PostgresConfiguration 类中都放了断点,并且首先执行配置类...

0 投票
0 回答
717 浏览

spring - 带有 postgress 和 r2dbc 的 Spring 数据不起作用

我正在尝试使用弹簧数据和 r2dbc 运行简单的弹簧启动应用程序,但是当我运行选择查询时,它确实返回任何记录。

配置

控制器只是简单的获取请求我什至没有传递请求参数只是将id硬编码为name_id的1

响应式存储库,通过 id 请求简单获取

只是调用 get 调用的 webclient

Spring Boot 的主类

调用 webclient 的主类。webclient 中的打印语句不打印任何内容

0 投票
1 回答
673 浏览

spring - 我可以在同一个 Spring 应用程序中同时使用 JDBC 和 R2DBC 吗?

我已经在 Spring 应用程序上工作了一段时间,它一直在使用 JDBC 从我的 Postgres 数据库服务器中检索数据。

现在我的应用程序已经发展到需要一些反应系统的地步了。在我的情况下,我试图将用户交互(主要是通知)作为流发送到我的 REST 服务,这需要非阻塞功能,该功能不是由 JDBC 提供,而是由 R2DBC 提供。

我的问题是,是否可以在同一个应用程序中同时使用 R2DBC 和 JDBC?我只需要流式通知,其余的使用 JDBC 就可以了。

0 投票
1 回答
474 浏览

postgresql - 如何在 Spring Data R2DBC 中禁用 Postgres 自动提交

我看到目前,您可以禁用对象auto-commitConnection但是当您使用 Spring Data 时,您无权访问Connection对象。

此外,Postgres 没有此功能作为连接 URL 的一部分。

有谁知道如何永久关闭它?

0 投票
2 回答
1087 浏览

java - INSERT 不包含 spring-data-r2dbc 的值

当我尝试使用 spring r2dbc 数据插入只有 id 的实体时,出现以下异常:

数据库postgres:

实体

存储库:

服务:

在同一个项目中,我有其他具有 id 和其他列的实体可以正常工作。知道为什么我有这个错误吗?

0 投票
0 回答
1141 浏览

mysql - Spring data r2dbc mysql无法获取插入的id

我正在尝试将我的示例迁移到最新的 Spring Data R2dbc 1.0.0.RELEASE。

架构.sql

我的初始化代码失败了。

应用程序启动时出现异常。

完整的源代码在这里。在早期版本中,我使用的是基于jasync的r2dbc-mysql驱动程序,它可以工作,但是我当时按照官方文档使用dev.miku:r2dbc-mysql后,它就失败了。

Resovled : 使用列名的索引插入,见本期评论