man*_*ejo 5 transactional spring-batch
我现在知道 Spring-Batch 中没有步骤间事务性这样的东西。我正在开发一个复杂的批处理作业,其中有许多步骤在数据库中执行多个操作,并且每个步骤都与其他步骤相关,这样每个步骤都属于同一个事务。我理解 Spring-Batch 范式的方式我必须使用一步工作来实现事务性。是否有任何想法(或任何其他方式)在最近或未来的版本中具有某种工作级别的事务性?
Edit1:我在这个链接6.3.1 点中找到了一种连接多个处理器的方法,但这不能满足我当前的需求。
Edit2:this other link建议我使用带有“@Transactional”注释的信封类的可能性,该类将调用我的工作,因此应该有一个外部事务。
最后我找到了一种方法来做到这一点。正如上一版中所述,您必须从事务方法调用作业:
@Transactional(传播=传播.必需)
将传播级别设置为该级别所需的值非常重要。并将作业级别传播设置为“强制”,从而实现作业和步骤将其事务添加到当前事务。尽管如此,正如 Michael Lange 所写,重要的是要考虑您正在管理的潜在卷大小,以避免超出限制的提交或回滚。
| 归档时间: |
|
| 查看次数: |
3591 次 |
| 最近记录: |