如何在Spring Batch中禁用事务管理

时间:2017-08-04 07:47:19

标签: java spring jdbc transactions spring-batch

我们正在使用spring批处理来运行我们的数据处理步骤。在每一步中,我们都有不使用事务管理的代码。我们得到“java.sql.SQLException:Connection已经关闭。”在Spring批处理中运行时,我们的数据库操作的异常,因为它在事务中的每个步骤开始。有人可以建议如何禁用它们。

[编辑] 我正在寻找像这里提到的选项http://forum.spring.io/forum/spring-projects/batch/91158-legacy-integration-tasklet-transaction。这个解决方案在我的情况下不起作用。

[编辑] 我找到了一种方法来清除jdbc模板中的事务,运行我的代码并将其初始化。它对我有用。这是一种正确的方法吗?

{{1}}

1 个答案:

答案 0 :(得分:0)

您必须启用它们,而不是禁用事务,因为如果没有事务,您将无法使用数据库。您可以像在通常的应用程序中一样创建它们(连接到db,打开事务,关闭事务,关闭连接)但是使用spring可以使用@Transactional注释或使用xml config来执行此操作。