用于输入文件的Spring Batch自定义分区程序

时间:2011-08-24 11:34:30

标签: partitioning flat-file spring-batch

我正在尝试对包含;个分隔项的平面输入文件进行分区。 一行中的第一项表示一个类别,我想对此类别进行分区,以便为每个类别创建一个将由专用线程处理的分区。 但我对如何在自定义Partitioner中实现此分区逻辑感到困惑。 分区似乎发生在面向块的步骤之前,因此在读取,写入之前,所以看起来我需要逐行读取自定义分区器中的文件,从行中获取类别字段并收集具有相同类别的行并创建每个集合都有一个ExecutionContext

我正朝着正确的方向前进吗? 有经验的人可以使用文件提供一个小例子(可能是伪代码)吗?

2 个答案:

答案 0 :(得分:0)

我自己刚刚提出这个问题。我认为自定义分区程序需要与自定义ItemReader配对。 ItemReader使用来自slave步骤的数据进行初始化(由分区程序放置),因此只读取适合该步骤的项目。

答案 1 :(得分:0)

您可以在这些链接herehere中找到一些自定义分区工具实现,以获得全面的想法。但我认为你不能从每个分区的ExecutionContext创建中逃脱。