- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的服务中有几个@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/
我有如下代码 public abstract class AffltTransactionService implements IAffltTransactionService { ..
当与 @Transactional 时带注释的方法抛出异常,但 rollbackFor 中没有声明任何类,交易会回滚吗? 最佳答案 默认情况下,事务会针对未检查的异常(RuntimeException
这是我的实体: @Entity @Table(name = "example") @Where(clause = "count >= 0") public class Example { @Col
在我的项目中,有一些类包含@Transactional(rollbackfor=Exception.class)。编译和打包我的项目时,会创建一个 jar 文件。但是,查看 @Transactiona
我在结合 Spring 回滚 Hibernate 更新时遇到问题。 我有以下类(class): @Service @Transactional(readOnly = true) public clas
我的服务中有几个@Transactional私有(private)方法,由于不推荐使用@Transactional而不是私有(private)方法,所以我使用org.springframework.t
我正在调用具有以下注释的服务: @Transactional(rollbackFor=ExceptionA.class) public void myMethodA(....) throws Exce
我已经使用 Spring boot 和 JPA 编写了一个示例应用程序。我正在使用 Spring 事务管理。我插入了 2 条记录,然后故意抛出异常并使用了 @Transactional(rollbac
在一些批处理作业中,我从类中调用方法,标记为: @Transactional(propagation = Propagation.REQUIRED, noRollbackFor = {
这是我在必须维护的应用程序中遇到的问题: 我有一个带有注释的头等舱 @Transactional(rollbackFor = CustomExceptionA.class)然后在下面的代码中我调用了一
@Transactional(rollbackFor = MyCheckedException.class) public void foo() { throw new RuntimeExce
我假设以下堆栈跟踪是 java 调用: B.method2 (annotated with a plain @Transactional) A.method1 (annotated with a pl
如果方法 solrJ.indexAllergenBulkSlor() 中发生任何异常,我需要回滚事务,但它不会回滚事务。我也将 AUTOCOMMIT 设置为 false。请帮忙。提前致谢。这就是我的服
在我的项目中,我使用了两个事务类。每个类都包含保存方法。当我将 @Transactional(roolbackFor=Exception.class) 注释添加到这些类中时,使用 like @Comp
我在使用 JPA 时阅读了有关 rollbackFor 属性的内容。 现在我的代码是这样的 @Transactional(readOnly = false, propagation = Propaga
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public void abc()
@Transactional(rollbackFor = Exception.class) public void foo1() { `/**Some Code**/` } @Transact
我是一名优秀的程序员,十分优秀!