我想用 Transactional 注释我的 ServiceActivator,如下所示:
@ServiceActivator
@Transactional(rollbackFor = Exception.class)
public Message<MyResult> populate(List<Things> th) {
// inserting in database
// try { throwing an exception } catch...
//doing other stuffs (insersions)
}
我希望在抛出异常后回滚插入。
不幸的是它不起作用,我在数据库中插入了内容。
提前致谢。
最佳答案
为了结束这个主题,我在这里提供答案。即使它看起来像是从加里·拉塞尔那里劫持的。虽然我们是同一个团队的。
因此,@Transactional
以及 Spring 中的许多其他方面都必须启用。为此,有一个特殊的 @Enable...
注释 - @EnableTransactionManagement
。这个扫描 PlatformTransactionManager
bean 并将 AOP 建议应用于标有 @Transactional
的方法。
参见Reference Manual了解更多信息。
关于java - Spring 集成: Is it possible to implement a Transaction in a ServiceActivator method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47716735/