java - Spring 集成: Is it possible to implement a Transaction in a ServiceActivator method?

标签 java hibernate transactions spring-integration

我想用 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/

相关文章:

java - 在数字时钟中显示 JPanel 中的数字时出现问题

java - 如何使用hibernate,HSQL按日期查询过滤器

javascript - 两个查询,其中第二个查询依赖于第一个查询

node.js - ExpressJS 中的 Sequelize 交易未执行

java - 如何在 Java 中锁定线程的代码块

java - 替换 N 到 M 中第 i 和第 j 之间的位

mysql - 多对多失败, 'on clause' 中的未知列

MYSQL 1064 事务插入多个表

java - 在 iText 7 中附加 2 个表格

java - Hibernate:如何级联删除?