首页 文章

Spring批处理:一次处理多个记录

提问于
浏览
0

我正在使用 spring 批,并且通常使用我有读者,处理器和作家 .

我有两个问题

1> Reader查询所有200条记录(表中的总记录大小为200,我已经给出pagesize = 200),因此它获取了所有200条记录,而在处理器中我们需要所有这些记录的列表,因为我们必须将每条记录与其他199条记录将它们分组在不同的层中 . 因此,我在想如果我们可以在处理步骤中获得该列表,我可以操纵它们 . 我应该如何处理 .

2>在处理阶段,我需要一些来自数据库的主数据,具体取决于所有输入记录的处理 . 我想在处理bean中注入数据源并获取所有主表数据并处理所有记录 . 这是好方法还是请另外建议 .

<job id="sampleJob">
    <step id="step1">
        <tasklet>
            <chunk reader="itemReader" processor="processor" writer="itemWriter" commit-interval="20"/>
        </tasklet>
    </step>
</job>

处理器是

@Override
public User process(Object item) throws Exception {
    // transform item to user
    return user;
}

我想要类似的东西

public List<User> process(List<Object> item) throws Exception {
    // transform item to user
    return user;
}

我发现了一些帖子here但是他们说要在作家中获取列表 . 但我不想在编写器中处理任何内容,因为这会杀死编写者和处理器的定义 . 是否有任何配置来获取此流程方法中的列表 .

谢谢

1 回答

相关问题