当前位置: 首页 > 知识库问答 >
问题:

Spring批处理一个读取器多个写入器

席兴平
2023-03-14

CompositeItemWriter:当我需要将项目平均地分给Writer时,似乎会将所有读取的项目传递给所有的Writer。

BacktoBackPatternClassifier:我并不真正需要分类器,因为我是均匀地拆分项目。

有没有另一种方式,让一个读者和多个作者?

或者我可以在Writer中手动创建线程

共有1个答案

仲孙向明
2023-03-14

你说的“多个作家”是什么意思?

您试图实现的似乎不是多个writer,而是具有多线程的单个writer。

明确地说,我们所说的“多作者”指的是一个读者阅读了一个语块,并且需要对该语块进行不同的“写作”。例如,您可能有一个PlayerRecordReader从某个地方读取Player,还有一个PlayerDbWriter和PlayerFileWriter写入DB和文件。多个writer不用于分配负载。

 类似资料:
  • 我刚开始使用Spring批处理,我有一个特殊问题。我希望使用从3个不同的jpa查询中获取结果,并分别处理它们,然后使用将它们写入一个统一的XML文件。 对于eg,生成的XML看起来像是,

  • 我有从多个文件读取并写入多个文件的Spring批处理配置。是否可以只写入从多个读取的一个文件。假设我收到巨大的XML文件,我将XML拆分为小文件并使用分区器并行读取小文件。但我需要将从不同的小xml文件读取的所有数据写入一个输出文件。Spring批处理是否可以做到这一点?我知道通过使写入器同步是可能的,但我正在寻找任何其他可能的方式作业配置 我得到错误组织。springframework。一批项目

  • 不管模式如何,一个基于JobParameters的同步使用不同读取器的解决方案将会很有帮助。

  • 我的情况是,我得到一个批处理作业将读取数据从两个不同的表和不同的处理。 第一个读取器将进行简单的SQL检索和简单的转换,第二个读取器将进行SQL检索并处理后面的更新和插入逻辑。两个读取器都将返回一个字符串行并写入一个文件。 在spring批处理中,是否可能在一个步骤中有2个读取器和2个处理器,然后传递给1个写入器?

  • 我有一个批处理步骤 读取器和处理器流程如何工作?读取器是读取块并等待处理器处理它,还是一次读取所有块。

  • 根据已接受的答案代码,对该代码的以下调整对我起作用: 我已经将这个问题更新到了一个可以正确循环的版本,但是由于应用程序将扩展,能够处理并行是很重要的,我仍然不知道如何在运行时用javaconfig动态地做到这一点... 基于查询列表(HQL查询),我希望每个查询都有一个读取器-处理器-写入器。我当前的配置如下所示: 工单 处理机 作家 目前,该过程对于单个查询来说工作得很好。然而,我实际上有一个查