java - 事务和捕获 block

标签 java transactions

如果回滚第二个事务(即 method3())会发生什么?第一笔交易会回滚吗?

//无事务方法

method1()
{
  try{
       method2(); // transactional
       method3(); // transactional and fails due to exception
  }
  catch {
    return "error message";
  }

最佳答案

不,如果 method3() 失败,method2() 的事务将不会回滚,因为它们是 2 个不同的事务。

注意:即使方法 1 是事务性的,它也不会确保整个操作(方法 2 + 方法 3)的原子性,因为您正在捕获异常。

关于java - 事务和捕获 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519494/

相关文章:

php - 如何在 laravel 中使用数据库事务?

java - 以编程方式从命令行分析 HPROF 内存转储文件

transactions - 执行顺序操作的最佳实践

spring-boot - Spring Boot中的@EnableTransactionManagement

java - 转换 SDK V3 : Modify Cast NotificationOptions runtime

php - 在 Yii 中循环使用事务

entity-framework - Entity Framework : Using transactions and rollbacks. .. 可能吗?

java - 在 Java 3D 中拾取形状

java - 通过字段 'personRepository' 表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException :

java - Java中的初始化顺序: exception with Netty 4. 0.7