【问题标题】:How to implement multithreading in Spring Batch如何在 Spring Batch 中实现多线程
【发布时间】:2015-05-01 17:13:58
【问题描述】:

我们已经实现了 Spring Batch,它正在处理大型数据集,因此完成它需要太多时间(大约 2 到 4 小时)。我们有 ItemReade、ItemProcesser 和 ItemWriter。

我们正在努力提高性能,代码很好,所以我们计划实现多线程。

任何人都可以提出建议,如何在 Spring Batch 中实现多线程 我认为我们还应该注意作为 AutoWired 注入的成员变量。

请提出你的建议

【问题讨论】:

标签: multithreading spring-batch


【解决方案1】:

我们已经使用 Executor 来实现这一点,我们做了以下事情,

  1. 找出执行时间较长的代码或部分代码。
  2. 做了分析,我们可以使用多线程。
  3. 将 Executor 与我们的烤箱框架一起使用,以确保线程按插入方式按顺序返回。
  4. 将所有成员变量转换为局部变量,这些变量具有执行批处理的依赖性,因为这可能导致多线程问题。
  5. 我们能够将所有春季批处理作业的总时间从 12 小时减少到 4 小时。

H

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多