Spring batch Spring批处理-读取一次,写入两次

Spring batch Spring批处理-读取一次,写入两次,spring-batch,Spring Batch,我是新来的。 我的要求是我有一个读卡器,它通过web服务调用/数据库调用获取记录,目前我正在将这些记录写入一个表中。 现在,我需要对读卡器读取的相同记录进行处理并写入另一个表。 这里需要注意的是,在第二次写入中存储的第二个项目属于不同的第一次写入类型 我需要像下面这样的 1st Step: - Read items of type A --> Write items of Type A 2nd Step:- Read items of type A --> Process to

我是新来的。 我的要求是我有一个读卡器,它通过web服务调用/数据库调用获取记录,目前我正在将这些记录写入一个表中。 现在,我需要对读卡器读取的相同记录进行处理并写入另一个表。 这里需要注意的是,在第二次写入中存储的第二个项目属于不同的第一次写入类型

我需要像下面这样的

1st Step: - Read items of type A --> Write items of Type A 
2nd Step:-  Read items of type A --> Process to type B ---> Write 10 items of type B

对于上述相同的工作,我需要事务管理。另外,在步骤2中:-如果可能,我应该使用步骤1中已经读取的数据。

Spring批处理定义了独立的处理步骤。每个步骤负责其输入、处理和输出。正因为如此,我的工作结构如下:

<job id="myJob">
    <step id="step1" next="step2">
        <tasklet>
            <chunk reader="reader" writer="typeAwriter"/>
        </tasklet>
    </step>
    <step id="step2">
        <tasklet>
            <chunk reader="reader" processor="processor" writer="typeBwriter"/>
        </tasklet>
    </step>
</job>

在上述配置中,读取器将是一个步进范围读取器,读入类型a。TypeA编写器写出类型a。处理器是将类型a转换为类型B的处理器。TypeB编写器写出类型B。由于处理器返回类型B的列表,typeBwriter需要是一个自定义实现,在处理器返回的列表上循环,typeBwriter将获取一个列表。

您的流程是:读取类型a->写入表a->读取类型a->处理类型B->写入10类型B?感谢您的回复Michael Minella是的,完全正确。。。读类型A->写类型A读类型A->处理到类型B-->写10类型B***这里有两件东西,如果可能的话,我还需要以下这些东西用于作业->事务管理->提交间隔概念->类型A应该只读取一次,就像我应该在某个地方保存数据一样,在第二次写作过程中使用请提前谢谢,如果你能给我举个例子,你能用这些笔记更新你的问题吗?这样它们更可读一点吗?@Michael Minella:编辑了问题,请查看并帮助我。谢谢你的回复。我会试试的。