Spring Batch如何管理事务(可能有多个数据源)?
我想要一些关于Spring Batch处理中的数据流的信息,但无法在互联网上找到我正在寻找的内容(尽管这个网站上有一些有用的问题)。
我正在尝试建立标准以在我们公司中使用Spring Batch,我们想知道当一个步骤中的几个处理器更新不同数据源上的数据时,Spring Batch的行为如何。
这个问题侧重于一个分块的过程,但可以随意提供有关其他模式的信息。
根据我所看到的(如果我错了,请纠正我),当读取一行时,它会遵循整个流程(读取器,处理器,写入器),然后再读取下一行(与思洛存储器处理相反,读取器将处理所有行,将它们发送到处理器,依此类推)。
在我的例子中,几个处理器读取数据(在不同的数据库中)并在此过程中更新它们,最后编写器将数据插入到另一个数据库中。目前,JobRepository没有链接到数据库,但那将是一个独立的数据库,这使得事情仍然有点复杂。
无法更改此模型,因为数据属于多个业务领域。
在这种情况下,如何管理事务?是否仅在处理完整块后才提交数据?然后,是否有两阶段提交管理?如何确保?为了确保数据的一致性,应该进行哪些开发或配置?
更一般地说,在类似情况下,您的建议是什么?