春季集成:是否有可能在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)
}

我希望在投掷异常后倒回去。

不幸的是它不起作用,我在数据库中得到了插入。

预先感谢。

只是要关闭此主题,我在这里提供答案。即使看起来像是从加里·罗素(Gary Russell)劫持的。尽管我们来自同一团队。

因此,@Transactional与Spring中许多其他方面一样,必须是启用。为此,有一个特殊的@Enable...注释-@EnableTransactionManagement。这是扫描PlatformTransactionManager bean,并将AOP建议应用于@Transactional标记的方法。

有关更多信息,请参见参考手册。

最新更新