当我调用批处理程序时,在此行上出现空指针异常:
String fileName = ((Map<String, MccFtpFile>) ec.get(AbstractSetupTasklet.BATCH_FTP_FILES)).get("scacFile").getLocalFile();
这是整个班级
// Writer
@Bean(name = "clf010Writer")
@StepScope
public FlatFileItemWriter<Clf010Item> clfWriter(@Value("#{jobExecutionContext}") Map<Object, Object> ec, //
@Qualifier("clf010LineAggregator") FormatterLineAggregator<Clf010Item> lineAgg) throws IOException {
@SuppressWarnings("unchecked")
String fileName = ((Map<String, MccFtpFile>) ec.get(AbstractSetupTasklet.BATCH_FTP_FILES)).get("scacFile").getLocalFile();
//Ensure the file can exist.
PrintWriter fos = getIoHarness().getFileOutputStream(fileName);
fos.close();
FlatFileItemWriter<Clf010Item> writer = new FlatFileItemWriter<>();
writer.setResource(new FileSystemResource(fileName));
writer.setLineAggregator(lineAgg);
return writer;
}
我似乎无法找出问题所在。我的猜测是正在寻找找不到的文件?如果有人有什么见识或信息,我将不胜感激。
答案 0 :(得分:0)
我没有意识到,但是在我的设置任务中,我需要声明一个新的ftp文件:)感谢您的帮助