当前位置: 首页 > 知识库问答 >
问题:

Spring事务管理与Spring WebFlux一起工作吗?

艾鹭洋
2023-03-14

Spring对RDBMS事务管理的支持在Spring WebFlux中也起作用吗?

例如,假设配置正确,用@transactional注释注释的方法是否会使用Spring事务管理器并在发生错误时回滚事务?

如果事务管理确实起作用,那么@transactional方法是否确实抛出和异常,或者monoflux返回类型是否发出错误信号?

我知道JDBC本质上是阻塞的,因此任何JDBC操作都必须从阻塞桥接到反应桥接,反之亦然。

我的组织有WebFlux和Cassandra的经验,但Cassandra有一个本地的反应驱动程序。

谢谢你!

共有1个答案

翟弘
2023-03-14

@transactional现在在Spring Reactive上有效。

这里我就不详述了。所有内容都在本文中进行了解释:https://spring.io/blog/2019/05/16/reactive-transaction-with-spring。

 类似资料:
  • 问题出在@Transactional中,在我的配置中spring应用程序没有使用它。我怎么能修好它? ...REST控制器没有任何事务性方法,它只使用specifiedServices加载实体。依赖集合(如果未加载到服务中)应为空。 应用程序启动程序类: 我还尝试将@Transactional添加到存储库接口中,但对我来说并不起作用 所以我从存储库中删除了@Transactional,创建了其他服

  • 问题内容: Spring对RDBMS事务管理的支持在Spring WebFlux中是否也起作用? 例如,假设配置正确,带有注释的方法是否会使用Spring事务管理器并在发生错误时回滚事务? 如果事务管理确实起作用,那么方法是否必须实际和异常,或者必须是或返回类型发出错误信号? 我知道JDBC本质上是阻塞的,因此任何JDBC操作都必须从阻塞过渡到反应性,反之亦然。 Spring事务管理器通过使用(对

  • 我有两个实体,即公司和用户。一个公司可以有很多用户。因此,当我保存一个公司时,它也会在一个事务中创建一个用户。如果用户的插入由于某种原因失败了,我想公司的插入应该回滚,这是目前不发生的。 因此,如果不知何故,在请求中传递的电子邮件已经存在,那么用户实体将不会被保存,所以在这种情况下,我需要公司应该回滚。你知道我怎么才能做到这一点吗?

  • 我想了解Spring Batch是如何进行事务管理的。这不是一个技术问题,而是一个概念性的问题:Spring Batch使用什么方法?这种方法的后果是什么? 让我试着澄清一下这个问题。例如,在TaskletStep中,我看到步骤执行通常如下所示: 准备步骤元数据的几个JobRepository事务 每一块要处理的业务事务 更多JobRepository事务,用区块处理的结果更新步骤元数据 这似乎是

  • 在SpringSessionContext中。这不是在错误上下文中定义的问题,也不是缺少CGLIB库的情况。大多数测试都有效,这意味着在大多数情况下,事务代理是有效的。 它现在失败的情况似乎是在使用NOT_SUPPORTED、NEVER和SUPPORTED传播类型时出现的。无论出于何种原因,SpringSessionContext在这些情况下都不会创建会话。 我们的用例有时要求事务边界与方法边界不

  • 我正在用Spring Boot和MongoDB开发一个web应用程序。我想让服务与@transactional spring注释一起工作,但我不知道这是否真的有效。(我以前没有与mongoDB合作过)。 我添加了注释,看起来一切都正常运行(应用程序运行,我可以执行CRUD的所有操作),但是,我不知道Spring是否忽略了注释,它是否正常工作,或者是否真的在考虑事务性。 在另一篇文章中,我看到我应该