簡體   English   中英

Spring 批處理作業不讀第一行

[英]Spring Batch job do not read first line

我有一個 Spring 批處理作業,用於讀取 CSV 文件。

如何避免處理第一行?

我希望處理器不讀取第一行,例如標題。 在這種情況下,我希望 CustomerItemProcessor 不讀取我的 CSV 文件的第一行。

這是我寫的代碼:

@Configuration
public class ImportJobConfig {

    @Autowired
    private JobBuilderFactory jobBuilderFactory;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    @Bean
    public Job importUserJob(ItemReader<Customer> importReader) {
        return jobBuilderFactory.get("importUserJob")
            .incrementer(new RunIdIncrementer())
            .flow(step1(importReader))
            .end()
            .build();
    }

    @Bean
    public Step step1(ItemReader<Customer> importReader) {
        return stepBuilderFactory.get("step1")
            .<Customer, Customer>chunk(10)
            .reader(importReader)
            .processor(processor())
            .build();
    }

    @Bean
    @Scope(value = "step", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public FlatFileItemReader<Customer> importReader1(@Value("#{jobParameters[fullPathFileName]}") String pathToFile) {
        FlatFileItemReader<Customer> reader = new FlatFileItemReader<>();
        reader.setResource(new FileSystemResource(pathToFile));
        reader.setLineMapper(new DefaultLineMapper<Customer>() {{
            // doing some stuff
        }});
        return reader;
    }

    @Bean
    public CustomerItemProcessor processor() {
        return new CustomerItemProcessor();
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM