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



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

对于一组特定的方法,spring是否为DISABLE事务提供了任何注释?

或者,在spring-batch中有什么可用的东西可以让我完全摆脱事务或声明性吗

我甚至对可以全局禁用事务的解决方案持开放态度。任何链接,论文将不胜感激。提前感谢Samir

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

最新更新