Весеннее пакетное задание не читает первую строку

У меня есть весеннее пакетное задание для чтения файла CSV. Хочу спросить, как избежать обработки первой строки после ее прочтения? Первую строку можно прочитать, но не обрабатывайте / не сохраняйте. как это сделать? Ниже приведен код конфигурации пакетного задания. . .................................................. .................................................. .................................................. .................................................. .................................................. .........

.

                    .


@Configuration
public class ImportJobConfig<JobCompletionNotificationListener> {

    @Autowired
    private JobBuilderFactory jobBuilderFactory;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    @Autowired
    private DataSource dataSource;

    private JdbcTemplate jdbcTemplate;



    @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>() {{
            System.out.println("#### importReader!!");
            setLineTokenizer(new DelimitedLineTokenizer() {{
                setNames(new String[]{"custCustomerName3", stMainPhone","custMainEmail"});
            }});
            setFieldSetMapper(new BeanWrapperFieldSetMapper<Customer>() {{
                setTargetType(Customer.class);
            }});
        }});
        return reader;
    }

    @Bean
    public CustomerItemProcessor processor() {
        System.out.println("#### CustomerItemProcessor processor!!"); 
        return new CustomerItemProcessor();
    }

    @Bean
    public JdbcBatchItemWriter<Customer> writer() {
        System.out.println("#### writer !!"); 
        JdbcBatchItemWriter<Customer> writer = new JdbcBatchItemWriter<>();
        writer.setItemSqlParameterSourceProvider(
            new BeanPropertyItemSqlParameterSourceProvider<Customer>());
        writer.setSql("INSERT INTO  customer (customer_name,customer_phone,comp_id,customer_email)"
            + " VALUES(:custCutomerName, :custMainPhone,:compId,:custMainEmail)");
        writer.setDataSource(dataSource);
        return writer;
    }

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

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

}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
2 345
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать метод setLinesToSkip FlatFileItemReader.

https://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/file/FlatFileItemReader.html#setLinesToSkip-int-

Другие вопросы по теме