问题标签 [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.
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 和运行子查询。这样,初始响应流被消耗并且连接可以自由地获取额外的结果。
类似以下代码段的内容应该可以完成这项工作:
但这消除了流式传输数据而不将其全部保存在内存中的好处(我的最后一步不是列出,而是流式写入以输出到某个文件)。
对此有任何帮助吗?
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,但不知道为什么我卡在这里,我确定这是一个依赖问题。请帮我解决这个问题。
java - R2DBC 数据库客户端未调用 doOnSuccess 或终止嵌套调用
代码到达“填充要执行的迁移”日志。然而,没有任何 AAA、EEE 和 CCC 日志被访问,因此 doOnSuccess 中没有代码正在运行。任何有关如何解决此问题的帮助将不胜感激。
oracle - R2DBC - Oracle 数据库支持
我在搜索反应式关系数据库驱动程序时发现了 R2DBC,但我看不到任何 Oracle DB 驱动程序。有人知道是否提供支持吗?
java - Java、Postgres、Redis:PostConstruct 没有完全工作?
我想从 Postgres 表中填充 Redis,并有一个可行的方法。我希望此方法在应用程序启动时运行。但是,当我尝试使用@PostConstruct
时,似乎运行该方法但没有成功。我正在使用 R2DBC 连接 Postgres。
我通过创建一个调用此方法的端点对此进行了测试。启动时,我会看到打印的“测试”消息,这意味着该方法已执行。但是,没有填充 Redis。但是当我到达端点时,我看到“测试”消息并且 Redis 已填充。有没有搞错?
看起来locationPostgresRepository.findAll()
只有在启动时才返回空。我在上面的方法以及我的 PostgresConfiguration 类中都放了断点,并且首先执行配置类...
spring - 带有 postgress 和 r2dbc 的 Spring 数据不起作用
我正在尝试使用弹簧数据和 r2dbc 运行简单的弹簧启动应用程序,但是当我运行选择查询时,它确实返回任何记录。
配置
控制器只是简单的获取请求我什至没有传递请求参数只是将id硬编码为name_id的1
响应式存储库,通过 id 请求简单获取
只是调用 get 调用的 webclient
Spring Boot 的主类
调用 webclient 的主类。webclient 中的打印语句不打印任何内容
spring - 我可以在同一个 Spring 应用程序中同时使用 JDBC 和 R2DBC 吗?
我已经在 Spring 应用程序上工作了一段时间,它一直在使用 JDBC 从我的 Postgres 数据库服务器中检索数据。
现在我的应用程序已经发展到需要一些反应系统的地步了。在我的情况下,我试图将用户交互(主要是通知)作为流发送到我的 REST 服务,这需要非阻塞功能,该功能不是由 JDBC 提供,而是由 R2DBC 提供。
我的问题是,是否可以在同一个应用程序中同时使用 R2DBC 和 JDBC?我只需要流式通知,其余的使用 JDBC 就可以了。
postgresql - 如何在 Spring Data R2DBC 中禁用 Postgres 自动提交
我看到目前,您可以禁用对象auto-commit
。Connection
但是当您使用 Spring Data 时,您无权访问Connection
对象。
此外,Postgres 没有此功能作为连接 URL 的一部分。
有谁知道如何永久关闭它?
java - INSERT 不包含 spring-data-r2dbc 的值
当我尝试使用 spring r2dbc 数据插入只有 id 的实体时,出现以下异常:
数据库postgres:
实体
存储库:
服务:
在同一个项目中,我有其他具有 id 和其他列的实体可以正常工作。知道为什么我有这个错误吗?
mysql - Spring data r2dbc mysql无法获取插入的id
我正在尝试将我的示例迁移到最新的 Spring Data R2dbc 1.0.0.RELEASE。
架构.sql
我的初始化代码失败了。
应用程序启动时出现异常。
完整的源代码在这里。在早期版本中,我使用的是基于jasync的r2dbc-mysql驱动程序,它可以工作,但是我当时按照官方文档使用dev.miku:r2dbc-mysql
后,它就失败了。
Resovled : 使用列名的索引插入,见本期评论