在ItemWriter

时间:2017-08-29 15:22:24

标签: spring spring-batch batch-processing

我这个批处理作业的目的是从数据库中获取少量文档,对其进行加密并将其转发到服务器。为此,我使用项目读者和作家。对于加密,我应该使用jar中的tasklet(我没有源代码)。有数百万条记录需要处理,所以我使用一些块间隔来读取和写入它。我的问题是在加密期间(在每个写入块完成后调用tasklet)。

有没有办法在编写后调用tasklet(批处理:chunk)?

截至目前,我正在做以下事情:

<batch:job id="batchJob">
        <batch:step id="prepareStep" next="encryptStep">
             <batch:tasklet task-executor="executor">
                <batch:chunk reader="reader" processor="processor"
                    writer="writer" commit-interval="100" >
                    </batch:chunk>
            </batch:tasklet>
        </batch:step>
        <batch:step id="encryptStep" next="uploadStep">
            <batch:tasklet ref="encryptTasklet" />
        </batch:step>

但上述方法的问题是,只有在读取,处理和写入所有百万条记录之后才会调用encryptStep。 But I want it to work in chunks, that is, execute encryptTasklet after every chunk write is executed.有没有办法实现这个目标?

请帮忙。

0 个答案:

没有答案