gpt4 book ai didi

java - 带有 rollbackFor 的 TransactionTemplate

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:56 24 4
gpt4 key购买 nike

我的服务中有几个@Transactional私有(private)方法,由于不推荐使用@Transactional而不是私有(private)方法,所以我使用org.springframework.transaction.support.TransactionTemplate修复了它们。重构简单的 @Transactional 很容易,但我有一个带有 rollbackFor 属性的事务方法,如下所示:

@Transactional(rollbackFor = ProcessingAlertException.class)
private void processAlert(Alert alert) {
// do something
}

我不太清楚如何重构它。 org.springframework.transaction.TransactionStatus 似乎没有任何合适的方法。

最佳答案

由于您已经决定使用 TransactionTemplate,因此您只需调用 TransactionStatus.setRollbackOnly()对于 TransactionCallback 中给定的异常类型:

transactionTemplate.execute(transactionStatus -> {
try {
...
} catch (ProcessingAlertException ex) {
transactionStatus.setRollbackOnly();
}
});

关于java - 带有 rollbackFor 的 TransactionTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51837284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com