问题标签 [spring-data-mongodb-reactive]
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.
java - 在使用 Spring Data MongoDB 的事务中调用两个不同 ReactiveMongoRepository 中的方法?
当使用 Spring Data MongoDB 的反应式编程模型时,可以执行如下事务:
但是 Spring Data MongoDB 也支持“反应式存储库”,例如:
和
我的问题是,鉴于您有ReactiveMongoRepository
's,您能否以某种方式利用 MongoDB 事务,例如在同一个事务中插入 aPerson
和Car
(在这种情况下使用PersonRepository
和CarRepository
)?如果是这样,你如何做到这一点?
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
,有没有办法将它们集成到一个事务中?
spring-boot - 使用带有阻塞方法的反应性弹簧数据(mongdb)的缺点/性能影响
我对响应式编程非常陌生,目前正在研究使用 spring mvc 的微服务和用于数据库连接的 Spring Data MongoDb。
当我浏览 Spring Data mongo db 文档时,支持响应式存储库、响应式模板 api 等。
那么,如果我选择使用具有阻塞性质的反应式模板和存储库,会有什么缺点吗?
使用上述调用与使用阻塞存储库和模板 api 本身有什么显着区别吗?
spring-data-mongodb - ReacticveMongoTemplate 和 MongoTemplate(阻塞)在同一个应用程序中
在同一个应用程序中配置ReactiveMongoTemplate
和MongoTemplate
(阻塞)会导致问题吗?或者我们可以在同一个应用程序中使用反应式和非反应式 mongo 配置吗?
spring-boot - WebFlux 功能端点,如何返回带有检索到的数据的 ServerResponse 并且没有不必要的阻塞/等待?
我对响应式代码完全陌生,经过大量教程和 youtube 视频后,我正在尝试使用功能端点设置一个小型测试应用程序;一个简单的 RouterFunction、RouterHandler 和 Repository。问题是如何将 ServerResponse 中的对象从存储库返回给调用者,而不会造成任何不必要的阻塞?
我正在使用 Postman 进行测试。这是我的测试应用程序中有趣的部分:
当我有如上所示的代码时,预期的数据会打印在 中subscribe(ok -> ...)
,但我还没有弄清楚如何在 ServerResponse 中返回这些数据。
如果我将代码更改getBook()
为
返回bodyValue
的是空的,虽然我可以看到它是从数据库中检索出来的。
非常感谢任何关于我所缺少的建议。
更新
我正在使用MongoDB Compass来查看和验证数据库的内容。
启用了调试日志记录application.properties
,logging.level.root=DEBUG
因此 Spring 类在终端窗口中写入一些信息。部分匿名日志如下:
spring - Spring webflux ReactiveMongoOperations 由 elemMatch 找到
我有一个这样的集合:
我想找到INTERLOCUTOR有test1;ReactiveMongoOperations如何使用?
project-reactor - Reactor Flux 抛出非法ArgumentException - 怀疑是由于 bufferTimeout
我有一个 spring 应用程序,它构建了一个响应式管道,如下所示:
但是,我看到我的应用程序中间抛出以下错误 -
我无法确定出了什么问题,以及为什么流以这个错误终止。任何帮助将不胜感激。
在我添加“bufferTimeout”以添加批处理功能后,应用程序开始抛出此错误。在此之前,我从未遇到过这个异常。也不确定如何复制该问题,因为它不是在本地或 UAT 中发生,而是仅在应用程序的生产环境中发生。任何线索都会有所帮助。
谢谢!
mongodb - Convert enum value by field
I'm using reactive MongoDB in spring. Here is the Enum Language:
Here are the converters:
Problem:
When I write to the database it is writing Language
enum as "ARABIC"
or "UZBEK"
anyway. It should write as "uz"
or "ar"
. Why is not saving like this?
mongodb - 使用 spring-data-mongodb-reactive 管理多个 Flux 的生命周期
我有一个数据服务,我正在认真考虑切换到反应模型。这是一个联合查询引擎,可以通过调用一个或多个“解析器”实现来解析查询数据,具体取决于查询类型。
如果我切换到spring-data-mongodb-reactive
,那么这些实现中的每一个都必须为以下各项创建多个Flux
实例:
- 对信息不同部分的查询
- 从 #1 查询每个查询的所有数据库
注意:我不想合并每个Flux
,因为能够将上面 #1 的查询分开,使最终处理更容易。将所有联合数据库的每个“部分”查询组合起来就可以了,但我必须将每个“部分”的数据分开。我希望这是有道理的。
解释完整的工作流程超出了本文的范围,但我想知道如何创建任意数量的Flux
实例,并订阅它们以启动它们,然后等到它们全部完成后再继续处理完整的- 跨所有联合来源检索数据。在 Java 中,我正在寻找类似于CompletableFuture.allOf()
.
如果我做这样的事情,我是否接近于正确的轨道:
spring-transactions - 如何使用spring数据反应性mongodb transactionalOperator限制事务范围
出于性能原因,我需要减少 tx 范围。例如
save(a) 不参与交易
ReactiveMongoTemplate.inTransaction() 自 2.2 起已弃用。
我试过 TransactionalOperator,它似乎不支持作用域事务
我希望值设置为 1,只有 2 回滚。但是似乎transationalOperater从一开始就开始了事务,带有会话同步ON_ACTUAL_TRANSACTION的mongo也参与了事务。如何限制 tx 范围?