首页 文章

如果文件中的项目数量很少,可以安全地使用spring批量多线程步骤吗?

提问于
浏览
0

我在文档中读到,多线程步骤是不安全的,因为许多ItemReaders和Writers都不是线程安全的 .

我正在使用FlatFileItemReader来读取和处理项目 .

如果文件中有大量要处理的项目,我正在使用远程分区 .

但是有些步骤只有2-3个项目的输入文件(它们只是市场ID,例如eu,gb等) . 我将增加几个市场 . 我需要运行一些命令,将这些市场ID作为输入 . 我想为所有这些命令并行运行命令 .

即使我使用FlatFileItemReader,多线程步骤是否可以安全地用于此类用例?或者我应该进行远程分区(没有太多数据需要分区)?

此外,如果我使用多线程步骤,它将正确运行我启动具有不同参数的相同作业的多个实例,例如不同的约会?

1 回答

  • 2

    FlatFileItemReader 不是线程安全的,因为它可以知道重启时有什么和没有读过什么 . 如果可重启性不是问题(如果作业失败,您可以从头开始),那么您可以在 FlatFileItemReader 的步骤中使用多个线程 .

相关问题