Spring Batch: исключение без возможности пропуска в восстановителе при обработке; java .lang.NullPointerException в FaultTolerantChunkProcessor. java: 289 - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть один шаг конфигурации, как показано ниже

stepBuilderFactory.get("step2")
                .<EventLogWrapper, BaseCscEvent>chunk(100)
                .reader(eventLogReader)
                .processor(eventLogItemProcessor)
                .writer(compositeItemWriter)
                .faultTolerant().retryLimit(10).retry(Exception.class)
                .stream(dataBaseItemWriter)
                .stream(rabbitAmqpItemWriter)
                .taskExecutor(taskExecutor())
                .build();

Моя конфигурация Reader указана ниже

 AmqpItemReader<EventLog> eventLogReader(AmqpTemplate eventLogReaderRabbitTemplate){

     AmqpItemReader amqpItemReader = new AmqpItemReader<EventLog>(eventLogReaderRabbitTemplate);
     amqpItemReader.setItemType(EventLogWrapper.class);
     return amqpItemReader;

 }

Я получаю одну прерывистую ошибку, как показано ниже

ExitMessage org.springframework.retry.RetryException: не пропускаемое исключение в восстановителе во время обработки; вложенное исключение - java .lang.NullPointerException в org.springframework.batch.core.step.item.FaultTolerantChunkProcessor $ 2.recover (FaultTolerantChunkProcessor. java: 289) в org.springframework.retryTet . java: 512) в org.springframework.retry.support.RetryTemplate.doExecute (RetryTemplate. java: 351) в org.springframework.retry.support.RetryTemplate.execute (RetryTemplate. java: 211) org.springframework. org.springframework.batch.core.step.item.SimpleChunkProcessor.process (SimpleChunkProcessor. java: 210) в org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute (ChunkOrien) . org.springframework.batch.core.step.tasklet.TaskletStep $ ChunkTransactionCallback.doInTransaction (TaskletStep java: 4 07) в org.springframework.batch.core.step.tasklet.TaskletStep $ ChunkTransactionCallback.doInTransaction (TaskletStep. java: 331) в org.springframework.transaction.support.TransactionTemplate.execute. 1025T (Transaction). в org.springframework.batch.core.step.tasklet.TaskletStep $ 2.doInChunkContext (TaskletStep. java: 273) в org.springframework.batch.core.scope.context.StepContextRepeatCallback.TackContext.teInIn. . * .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 624) в java .lang.Thread.run (Thread. java: 748) Вызывается: java .lang.NullPointerException В чем причина такого поведения?

Что я должен сделать, чтобы решить эту проблему?

Спасибо за чтение!

...