提问人:zy_sun 提问时间:11/17/2023 最后编辑:Mark Rotteveelzy_sun 更新时间:11/17/2023 访问量:20
如何使用传统的数据库框架在 Spring WebFlux 中优雅地管理事务?
How to elegantly manage transactions in Spring WebFlux with traditional database frameworks?
问:
如何在 Spring WebFlux 中使用传统的阻塞数据库框架框架(如 JDBC、JPA 和 MyBatis)优雅地管理事务?
Spring Data R2DBC 的一些功能不是很好,所以我不得不使用传统的数据库框架。虽然@Transactional注解现在可以在 WebFlux 中使用,但有时它在链调用中不起作用。无法与 R2DBC 等运营商完成交易。
有没有简单的方法可以封装手动交易以支持单链调用中的交易?例如:
Mono<OrderInner> monoFromCallable = Mono.fromCallable(() -> {
orderInnerService.saveTest(new Order("id01"));
return entity;
});
Mono<OrderInner> mono2fromCallable = Mono.fromCallable(() -> {
orderInnerService.saveTest(new Order("id02"));
return entity;
});
//Transactional:
return monoFromCallable
.then(mono2fromCallable)
.as(transactionalOperator::transactional);
答: 暂无答案
上一个:JPA 实体生命周期事件
评论