spring batch MultiResourceItemReader 예제

    @Bean

    public ResourceAwareItemReaderItemStream<A> flatFileReader() {

        FlatFileItemReader<A> fileReader = new FlatFileItemReader<>();

        fileReader.setEncoding("UTF-8");

        fileReader.setLineMapper(LINEMAPPER);


        return fileReader;

    }


    @Bean

    @StepScope

    public ItemReader<A> multipleFileReader(

        @Value("#{jobParameters[target]?:null}") String target

    ) throws IOException {

        String filePath = ~~~;

        filePath += "/*";


        ClassLoader loader = this.getClass().getClassLoader();

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(loader);


        MultiResourceItemReader<A> reader = new MultiResourceItemReader<>();

        reader.setResources(resolver.getResources("file:" + filePath));

        reader.setDelegate(flatFileReader());


        return reader;

    }


댓글