在Spring中使特定方法非事务性

时间:2013-08-09 18:37:38

标签: spring spring-batch

我有一个基于Spring Batch的spring应用程序。默认情况下,spring批处理为其步骤引入事务(即在读取器,写入器和处理器处)。在某些阶段我不需要启用事务。因为这些方法不需要事务,所以当我在一个方法中调用两个不同的数据库时,它会给我一些运行时错误。

Spring是否为一组特定方法的DISABLE事务提供了注释?

或者春天批次中有什么可用,这可以让我完全摆脱交易或声明

我甚至对可以全局禁用交易的解决方案持开放态度。 任何链接,纸张将非常感激。 提前致谢 萨米尔

1 个答案:

答案 0 :(得分:3)

Spring Batch本质上是事务性的。即使您的数据源不是事务性的,JobRepository的语义也需要它。 Spring Batch最接近并且不是事务性的是使用ResourcelessTransactionManager。此事务管理器本质上是一个无操作事务管理器,只跟踪操作是否在事务范围内。