我有一个基于Spring Batch的spring应用程序。默认情况下,spring批处理为其步骤引入事务(即在读取器,写入器和处理器处)。在某些阶段我不需要启用事务。因为这些方法不需要事务,所以当我在一个方法中调用两个不同的数据库时,它会给我一些运行时错误。
Spring是否为一组特定方法的DISABLE事务提供了注释?
或者春天批次中有什么可用,这可以让我完全摆脱交易或声明
我甚至对可以全局禁用交易的解决方案持开放态度。 任何链接,纸张将非常感激。 提前致谢 萨米尔
答案 0 :(得分:3)
Spring Batch本质上是事务性的。即使您的数据源不是事务性的,JobRepository的语义也需要它。 Spring Batch最接近并且不是事务性的是使用ResourcelessTransactionManager。此事务管理器本质上是一个无操作事务管理器,只跟踪操作是否在事务范围内。