Отладка приложения SpringBatch - PullRequest
0 голосов
/ 25 июня 2019

Я определил четыре шага в работе, JobExecution говорит, что завершен, но я хочу убедиться, что все мои шаги вызываются и выполняются правильно или нет.

Есть ли у нас какой-либо способ, гдея могу отлаживать каждый шаг?

Вызов моего пакетного задания из RestController путем определения конечной точки

Найти под файлом конфигурации .

@Configuration
@Log4j2
public class PickUpBatchConfig {

    @Autowired
    public JobBuilderFactory jobBuilderFactory;

    @Autowired
    public StepBuilderFactory stepBuilderFactory;


    @Bean
    public Job pickupJob() {
        return this.jobBuilderFactory.get("pickupJob")
            .listener(new JobResultListener())
            .start(a())
            .next(b())
            .next(c())
            .next(d())
            .build();
    }

    @Bean
    public Step a() {
        System.out.println("PickUpBatchConfig.a");
        return this.stepBuilderFactory.get("step1")
            .Responsechunk(0)
            .reader(new One())//dummy ,does nothing in step1
            .processor(new Two())
            .writer(new Three())
            .build();
    }

    @Bean
    public Step b() {
        System.out.println("PickUpBatchConfig.b");
        return this.stepBuilderFactory.get("step2")
            .Responsechunk(0)
            .reader(new Four())// Need to implement
            .processor(new Five())
            .writer(new Six())
            .build();
    }

    @Bean
    public Step c() {
        System.out.println("PickUpBatchConfig.c");
        return this.stepBuilderFactory.get("step3")
            .Responsechunk(0)
            .reader(new Seven())//need to implement
            .processor(new Eight())
            .writer(new nine())
            .build();
    }

    @Bean
    public Step d() {
        System.out.println("PickUpBatchConfig.d");
        return this.stepBuilderFactory.get("step4")
            .Responsechunk(0)
            .reader(new Ten())
            .processor(new Elevan())
            .writer(new Twelve())
            .build();

    }


}

1 Ответ

1 голос
/ 25 июня 2019

JobExecution говорит, что выполнено

Если вы получаете доступ к выполнению задания и можете проверить его состояние, то вы можете получить все пошаговые выполнения, используя JobExecution#getStepExecutions, и проверить состояниекаждый шаг.

...