2011-08-24 61 views
1

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

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

+0

你能提供一个样本输入和一个期望的输出例子吗? –

回答

0

我刚刚自己碰到了这个问题。我认为自定义的分区程序需要与自定义的ItemReader配对。 ItemReader被初始化为来自从属步骤的数据(由分区器放置),因此只读取适合该步骤的项目。

0

您可以在这些链接herehere中找到一些定制分区程序实现,以获得整体想法。但我认为你不能从每个分区的ExecutionContext创建中逃离。