Ошибка компиляции при добавлении нескольких слушателей в пакетный шаг Spring - PullRequest
0 голосов
/ 16 октября 2019

Добавление нескольких слушателей в Step приводит к ошибке компиляции.

    private Step myStep(DataSource dataSource) {
        return stepBuilderFactory.get("myStep")
            .<Record, Record>chunk(100)
            .reader(reader)
            .processor(processor)
            .writer(writer)
            .faultTolerant()
            .listener(stepListener)
            .listener(skipListener)
            .build();
}

[ОШИБКА] не может найти символ [ОШИБКА] символ: метод build () [ОШИБКА] расположение: класс org.springframework.batch.core.step.builder.StepBuilderHelper

Если я удалил одного из слушателей, код скомпилируется. Как добавить и прослушиватель шагов, и пропустить прослушиватель к отказоустойчивому шагу в Spring Batch?

Использование Spring Boot 2.1.8-RELEASE и Spring Batch startter.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.8.RELEASE</version>
</parent>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-batch</artifactId>
</dependency>

1 Ответ

0 голосов
/ 17 октября 2019

Один из способов добиться этого - следующий, не идеальный, но он работает.

SimpleStepBuilder<Record, Record> builder = stepBuilderFactory.get("myStep")
            .<Record, Record>chunk(100)
            .reader(reader)
            .processor(processor)
            .writer(writer)
            .faultTolerant();
    builder.listener(skipListener);
    builder.listener(stepListener);
    return builder.build();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...