spring—一个springbatch作业,用于为源代码顺序生成事件

ars1skjm  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(201)

我正在考虑创建一个springbatch作业,它使用表中的行来创建事件,并将事件推送到pubsub实现。这里的问题是,事件的顺序应该与表中用作事件创建过程源的行的顺序相同。
在我看来,springbatch并不是为这种顺序持久性而设计的,因为批处理是经过处理的,然后并行地编写。对于这个问题,唯一丑陋但可能有效的解决方案是在阅读器中进行所有的处理(因此阅读器可以进行读取+处理+写入pubsub),这有助于保持分页批内的顺序,但根据doc,即使这样似乎也不能保证批的顺序
有什么想法吗 ordered rows -> ordered events 可以使用springbatch或者至少springboot来实现吗?提前谢谢!

ymdaylpp

ymdaylpp1#

在我看来,springbatch并不是为这种顺序持久性而设计的,因为批处理是经过处理的,然后并行地编写。
这仅适用于多线程或分区步骤。默认的(单线程的)面向块的步骤实现按照条目读取器返回的相同顺序处理条目。因此,如果您让数据库读取器按您想要的顺序返回项目,那么这些项目将按相同的顺序写入pub/sub代理。

相关问题