Ошибка с ошибкой несовместимого типа в ItemWriter на шаге пакета - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь добавить новый шаг в мое задание Spring Batch, которое создаст файл XLS.У меня есть читатель, который помещает вывод в bean-компонент с именем CLUCReportDTO.Я работаю над проектом itemWriter для создания файла CSV.Вот код

Внутри класса A8SPACH2

  @Autowired
   private ACH2WriteProcessor clucWriter;


  public Step jobStep020() {
    return stepBuilderFactory.get(JOB.ACH2_BATCH_LOAD.getProfileName() + 
   ".js020")
            .listener(promotionListener)
            .<CLUCReportDTO, String> chunk(100)
            .reader(lockboxWirePostService.getUnappliedJes())
            .writer(clucWriter)
            .listener(listener)
            .build();
  }

Внутри класса ACH2WriteProcessor

public class ACH2WriteProcessor implements ItemWriter<CLUCReportDTO>{


@Override
    public void write(List<? extends CLUCReportDTO> items) throws Exception 
    {  


    }  

 }

Я получаю следующую ошибку в A8SPACH2: Не может бытьпреобразован в ItemWriter <?Супер Строка> .Чего мне не хватает в настройке A8SPACH2 или ACH2WriteProcessor, который вызывает эту ошибку.

Спасибо

1 Ответ

0 голосов
/ 05 февраля 2019

В соответствии с вашей конфигурацией (.<CLUCReportDTO, String> chunk(100)) средство записи элемента должно записывать элементы типа String, но вы объявляете его для записи элементов типа CLUCReportDTO (public class ACH2WriteProcessor implements ItemWriter<CLUCReportDTO>).

Ваш автор должен быть объявлен так:

public class ACH2WriteProcessor implements ItemWriter<String>{

   @Override
   public void write(List<? extends String> items) throws Exception {  

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