问题标签 [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-webflux - 在 Spring Gateway 预过滤器中检查数据库的访问权限
我正在使用 Spring Gateway,我需要使用 DB 调用通过请求路径检查进一步的用户访问。我的存储库是这样的。
这是我当前使用自定义UsernamePasswordAuthenticationToken
实现的过滤器。
但是,这里有几个问题,首先是阻塞调用。另外我不确定我需要变异exchange
以返回这样的响应。无论如何使用 Spring Cloud Gateway 中的过滤器来实现这一点。
r2dbc - r2dbc-h2 驱动程序中的 H2 控制台
我正在使用 R2DBC-H2 驱动程序,我的 UR.L 是spring.r2dbc.url=r2dbc:h2:mem:///customer
使用此配置,SpringBoot 启动正常,但是,我无法访问 h2-console。
有谁知道为什么,我该如何解决?
java - 如何在 r2dbc 中建立数据库连接?
如何在 r2dbc Spring boot 项目中建立 PostgreSQL 数据库连接?
我尝试了以下配置,它连接到数据库,但没有返回任何值
应用程序属性
模型
存储库
休息控制器:
它在控制台中打印输出,但在 JSON 中,我只得到空括号{}
正确的配置方法是什么?还需要什么其他配置吗?
spring - 如何在 r2dbc-postgresql 中使用 EnumCodec
我正在尝试使用最新版本的 r2dbc-postgresql (0.8.4) 中的 EnumCodec 失败,我想知道您是否可以帮助我。
我也使用 spring-data-r2dbc 1.1.1 版。
我从 GitHub 中获取了确切的示例,并在我的 Postgres 中创建了一个枚举类型“my_enum”,以及一个包含“name”(文本)和“value”(my_enum)的表“sample_table”。
然后我按照示例进行操作:
SQL:
Java模型:
编解码器注册:
我使用 DatabaseClient 来与数据库通信。我尝试使用 2 种方法插入:
或者:
其中 SampleTable 是:
但是我同时使用这两种方法得到了同样的错误:
列“值”的类型为 my_enum,但表达式的类型为字符变化
你能帮我理解我做错了什么,或者让我参考一些工作示例吗?我感谢您的帮助!
java - R2dbcDataAutoConfiguration 在创建 bean 'r2dbcDatabaseClient' bean 时与 AbstractR2dbcConfiguration 冲突
需要帮忙
我越来越
quote 在类路径资源 [org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.class] 中定义的 bean 'r2dbcDatabaseClient' 无法注册。已在类路径资源 [com/paymentservice/configurations/PaymentR2dbcConfiguration.class] 中定义了具有该名称的 bean,并且禁用了覆盖。
我在用着
performance - spring r2dbc 的性能问题
问题:仅在前 1 秒内观察到缓慢,其余 59 秒的响应时间恒定,比最大响应时间好 90%。
Server Env 详细信息:带有 r2dbc 池的 spring boot webflux 部署在 ECS fargate 中并连接到 Postgres Aurora 集群。池设置 - maxSize,initialSize 为 200 使用 spring data r2dbc 并启用代理侦听器进行调试。
客户端:在同一 VPC 中的 AWS EC2 中配置了一个具有 200,250,300,500 个用户且斜坡时间为 50 秒的最小负载的加特林脚本。
设想
- ECS 服务器已启动。
- 等待 4 分钟。
- 使用邮递员对 5 个请求进行了空运行。
- 使用加特林触发负载
- 关闭弹性云服务器。
- 对不同数量的用户重复这些步骤。
该行为与不同的用户一致。总是前 1 分钟的响应最慢,响应时间最长。 后续运行无需重新启动服务器具有良好的性能,没有任何延迟。
总计|OK |KO|Cnt/s|最小值|第 50 个百分比|第 75 个百分比|第 95 个百分比|第 99 个百分比|最大值|平均值|标准偏差|
500 |500 |0 |9.804|94 |184 |397 |1785 |2652 | 2912 | 417 | 第556章
并且还在日志中观察到,对于具有最大响应时间的请求,记录的这两条即时行之间的时间差为 168 毫秒。-- 执行查询:BEGIN -- io.r2dbc.spi.Connection.beginTransaction 在 ConnectionFactory#create() 回调
任何建议如何解决/解决问题?
谢谢。
sql-server - 无法通过 r2dbc 打开到 SQL Server 的连接池
尝试获取 SQL Server 连接池时出现错误。
马文:
使用 ReactiveCrudRepository:
我可以通过 MssqlConnectionFactory 获得连接,但是当我们需要同时更新超过 1000 条记录时我们会发现错误,所以我认为连接池应该更适合我们。
这是测试代码:
这是我得到的错误:
我也尝试通过 DatabaseClient 对象而不是 ReactiveCRUDRepository 来做到这一点
我收到了更详细的错误消息:(在我看来,错误与依赖项有关)
java - 具有等待性的 ReaciveCrudRepository
编写测试,但不确定如何重写此代码:
反应一:
笔记:
第一个 findById() 签名是:可选的 findById(Long id)
第二个 findById() 签名是:Mono findById(ID id)
reactive-programming - 具有多个数据库(MySQL、MongoDB)的反应式全局事务
我将 MYSQL 与R2DBC
(with spring-data-r2dbc
and jasync-r2dbc-mysql
) 和 Reactive Mongo 与spring-data-mongo-reactive
. 我想设置包含这两个操作的事务。起初,我考虑过JTA
,ChainedTransactionManager
但据我所知,它们都实现了PlatformTransactionManager
,而不是ReactiveTransactionManager
。
考虑到R2DBCTransactionManager
ofspring-data-r2dbc
和ReactiveMongoTransactionManager
of spring-data-mongodb
implements AbstractReactiveTransactionManager
,有没有办法将它们集成到一个事务中?
mysql - 为什么 r2dbc-spi 的 connectTimeout 属性的类型是 java.time.Duration 以及如何在 URL 连接中使用它?
我正在为我的 r2dbc 连接使用带有 application.yml 文件的 URL 连接。我试图设置connectTimeout
属性,但得到了这个错误:
我检查了 r2dbc-spi 配置了connectTimeout
as的类型java.time.Duration
。而且r2dbc-mysql
,我正在使用它。
我可以通过 URL 方式使用 connectTimeout 属性吗?我不知道如何自动将其从字符串传输到java.time.Duration
.
到目前为止,我看到大多数类型的连接属性值是字符串、整数、布尔值。据我所知,JDBC 配置了connectTimeout
as单元,ms
因此我可以轻松地connectTimeout
使用 URL 进行设置。r2dbc-spi为它选择Duration
类型有什么原因吗?