Проблема повышения весенней пакетной версии 3.0.7 до 3.0.9 - PullRequest
0 голосов
/ 04 сентября 2018

Я работаю над проектом Java с использованием среды Spring Batch, и мне нужно обновить его с версии 3.0.7 до 3.0.9, но у меня есть проблема:

@Bean
public Step bonjourRetourJpaToX(StepBuilderFactory stepBuilderFactory, TaskExecutor taskExecutor,
        ItemProcessor<BonjourRetourGroup, BonjourElementBlocAgent> compBonjourRetourBonjourProcessor,
        @Qualifier("promotionListenerBonjourRetour") ExecutionContextPromotionListener promotionListenerBonjourRetour) {
    return stepBuilderFactory.get("bonjourRetourJpaToX").<BonjourRetourGroup, BonjourElementBlocAgent>chunk(batchSizeLoadXml)
            .reader(bonjourRetourJpaReader)
            .processor(compBonjourRetourBonjourProcessor)
            .writer(bonjourRetourXmlWriter)
            .taskExecutor(taskExecutor)
            .listener(promotionListenerBonjourRetour)
            .listener(dsBonjourRetourFinalProcessor())
            .listener(dsBonjourRetourTemporaryProcessor)
            .listener(bonjourRetourBonjourBoucleStepListener())
            .throttleLimit(bonjourRetourJobThrottleLimit)
            .build();
}

С ошибкой компиляции maven:

[ОШИБКА] src / main / java / source / bonjourRetour / batch / BonjourRetourJobConfig.java: [1025,33] не может найти символ символ: метод throttleLimit (int)

Этот шаг многопоточный

1 Ответ

0 голосов
/ 05 сентября 2018

Для Махмуда Бен Хассина:

Композитный процессор ->

@Scope(value = "step", proxyMode = ScopedProxyMode.NO)
@Bean(name = "compBonjourRetourBonjourProcessorX")
public ItemProcessor<BonjourRetourGroup, XElementBlocAgent> compBonjourRetourBonjourProcessorX(@Value("#{stepExecution}") final StepExecution stepExecution) {
    CompositeItemProcessor<BonjourRetourGroup, XElementBlocAgent> compositeProcessor = new CompositeItemProcessor<>();

    compositeProcessor
            .setDelegates(Arrays.asList(dsBonjourRetourXTemporaryProcessor, dsBonjourRetourXinalProcessor()));
    return compositeProcessor;
}

Я заметил, что когда я перемещал слушателя: bonjourRetourBonjourBoucleStepListener (); вот так он компилируется:

 @Bean
 public Step bonjourRetourJpaToX(StepBuilderFactory stepBuilderFactory, TaskExecutor 
 taskExecutor,
    ItemProcessor<BonjourRetourGroup, BonjourElementBlocAgent> compBonjourRetourBonjourProcessor,
    @Qualifier("promotionListenerBonjourRetour") ExecutionContextPromotionListener promotionListenerBonjourRetour) {
return stepBuilderFactory.get("bonjourRetourJpaToX").<BonjourRetourGroup, BonjourElementBlocAgent>chunk(batchSizeLoadXml)
        .reader(bonjourRetourJpaReader)
        .processor(compBonjourRetourBonjourProcessor)
        .writer(bonjourRetourXmlWriter)
        .taskExecutor(taskExecutor)
        .listener(promotionListenerBonjourRetour)
        .listener(dsBonjourRetourFinalProcessor())
        .listener(bonjourRetourBonjourBoucleStepListener())
        //SWITCHED
        .listener(dsBonjourRetourTemporaryProcessor)
        .throttleLimit(bonjourRetourJobThrottleLimit)
        .build();

Я знаю, что dsBonjourRetourTevenProcessor возвращает ItemProcessor, а bonjourRetourBonjourBoucleStepListener возвращают StepExecutionListener

Для других частей моего проекта с этой проблемой, когда я переместил StepExecutionListener, он работает

Может, проблема здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...