java - 使用 Spring Batch 多线程处理数据

标签 java multithreading spring spring-batch

我正在使用 Spring Batch 2.1.8.RELEASE。我有一个文件,其中包含一些 header 信息,后跟一些我需要处理的记录。

我有一个利用面向 block 的处理的步骤。该步骤包含 ItemReader 和 ItemWriter 的实现。 ItemReader 实现是线程安全的,而 ItemWriter 则不是。

我想在处理(或写入)任何记录之前使用 header 信息。在继续使用面向 block 的处理的同时如何确保这一点?

建议的解决方案: 一种解决方案可能是编写预处理步骤并提取 header 信息。

有没有其他解决方案?

谢谢

最佳答案

您可以尝试类似于 Spring Batch Item Reader - use skippedLinesCallback to set input field names 中的一个描述器的方法:您必须将 headerCallback bean 注入(inject)您的阅读器(以及处理器或编写器)并安全地使用它,因为 headerCallback bean 已从您的阅读器调用。

我希望我说清楚了,英语不是我的母语(而且我在过去时态'-_-上遇到了麻烦)

关于java - 使用 Spring Batch 多线程处理数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19005422/

相关文章:

java - ServletContextListener : Isn't this incorrect usage?

java - 严格按顺序执行两个独立的线程

c++ - 读取一个在没有锁定的情况下同时修改的整数变量是否安全?

spring - 如何从 Freemarker TemplateDirectiveModel 访问 Spring RequestContext

spring - 如何配置 Spring Sockjs Java Client 消息转换器

java - 我无法运行我的第一个 Spring 应用程序,Hello World?我已经添加了所有 jar

java - 为什么外键的值总是为零?

java - Textview 可见性在 recyclerview 中自动创建

java - 蓝牙到 PC : Device, 端口和 UUID

java - Java 的反向 ajax 库是什么?