首页 > 解决方案 > 创建 FlatFileItemWriter bean 时出错

问题描述

当我调用我的批处理程序时,我在这一行得到一个空指针异常:

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;
        }

我似乎无法弄清楚问题所在。我的猜测是它正在寻找一个找不到的文件?如果有人有一些见解或信息,我将不胜感激。

标签: javaspringspring-bootspring-batch

解决方案


我没有意识到,但在我的设置任务中,我需要声明一个新的 ftp 文件:) 感谢您的帮助


推荐阅读