TransactionAspectSupport手动回滚点代码
时间: 2023-07-23 13:33:48 浏览: 165
springboot手动事务回滚的实现代码
好的,以下是使用 `TransactionAspectSupport` 手动回滚到指定回滚点的示例代码:
```java
import org.springframework.transaction.interceptor.TransactionAspectSupport;
public class FooService {
public void doSomething() {
try {
// 业务逻辑
// ...
// 到达回滚点,手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} catch (Exception e) {
// 出现异常,手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
}
```
在上面的代码中,我们使用了 `TransactionAspectSupport` 提供的 `currentTransactionStatus` 方法,来获取当前线程中的事务状态。然后通过调用 `setRollbackOnly` 方法,将当前事务状态标记为回滚状态。
需要注意的是,和之前的示例代码一样,在手动回滚事务之后,当前事务状态已经被清除,需要重新获取事务状态才能进行下一次事务操作。
阅读全文