Override the FlatFileItemReader.setResource()
method as
public void setResource(Resource resource) {
this.resource = resource;
this.delegateReader.setResource(resource);
}
and manage file deletion in FlatFileItemReader.read()
when stream is totally consumed
public T read() throws Exception {
T o = this.delegateReader.read();
if (o == null) {
// Perform deletion here
deleteFile(this.resource);
}
return o;
}