【问题标题】:Spring batch jobs | Does the read/write happen in the same thread?春季批处理作业 |读/写是否发生在同一个线程中?
【发布时间】:2014-08-11 10:57:21
【问题描述】:

我正在运行一个 spring 批处理作业,读取器读取文件并返回一个列表,而写入器使用该列表并写入文件。

以下是否意味着该读取器/写入器将在一个线程中运行?是否保证读取器和写入器进程将使用相同的线程。如果是这样,以下配置是否控制它。

<batch:chunk reader="itemReader" writer="itemWriter">

背景: 我正在使用静态线程局部变量来收集与读取和写入相关的错误,并在写入过程结束时打印它们。如果 spring batch 使用不同的线程来处理进程,那将迫使我改变策略。

谢谢

【问题讨论】:

    标签: java batch-processing spring-batch


    【解决方案1】:

    块是一起处理的数据组,在写入整个块之前不会提交任何内容。您可以在 Spring Batch 文档Spring Batch Chunk Documentation 中阅读有关块的信息。

    要使 Spring Batch 多线程,您需要定义 tasklet,例如 ThreadPoolTask​​Executor。

    所以,如果你没有定义任何 tasklet,你可以假设你的批处理作业是 p

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 2014-12-21
      • 2021-12-17
      • 2012-10-19
      相关资源
      最近更新 更多