如何知道某个步骤何时完成处理(使用的处理器)文件中的所有行? (MultiResourceItemReader =多个文件)
我做到了:
@CommonsLog
public class MultiResourceItemReaderWrapper<T> extends MultiResourceItemReader<T> {
private List<URI> processedResources = new ArrayList<URI>();
@Override
public void setResources(Resource[] resources) {
super.setResources(resources);
for (Resource resource : resources) {
log.info("Resource found to be read: " + resource);
try {
processedResources.add(resource.getURI());
} catch (IOException e) {
log.error(e);
}
}
}
@AfterStep
public void afterStep(StepExecution stepExecution) {
stepExecution.getExecutionContext().put("MultiResourceItemReaderWrapper.processedResources", processedResources);
}
}
在未来的步骤中,我想存档这些文件(移动/重命名)。
我不知道是否是最好的方法。但是使用这种方法,我不知道文件是否已经处理而没有错误(我想归档处理过的文件而没有错误)?
你能帮助我吗?