2

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

spring 是否为特定方法集提供了任何注释来禁用事务?

或者春季批次中是否有任何可用的东西可以让我完全或声明性地摆脱事务

我什至对可以全局禁用事务的解决方案持开放态度。任何链接,论文将不胜感激。在此先感谢萨米尔

4

1 回答 1

3

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

于 2013-08-09T19:57:33.860 回答