我这个批处理作业的目的是从数据库中获取少量文档,对其进行加密并将其转发到服务器。为此,我使用项目读者和作家。对于加密,我应该使用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.
有没有办法实现这个目标?
请帮忙。