Пакет Spring: исключение без возможности пропуска в средстве восстановления во время обработки; java.lang.NullPointerException в FaultTolerantChunkProcessor.java:289

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

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();

Конфигурация My 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.retry.suppemplate.RetryTolerant) на org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351) на org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211) на org.spring.framework.batch item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) в org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298) в org.springframework.Processor.java:298) в org.springframework.framework. процесс (SimpleChunkProcessor.java:210) в org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77) на org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionSactionSactionSactionCallpack.TaskletStep $ ChunkTransaction. 407) в org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331) в org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate..batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273) в org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java.spring).repeat.support.TaskExecutorRepeatTemplate$ExecutingRunnable.run(TaskExecutorRepeatTemplate.java:262) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) в java.lang.Thread.run(Thread.java:748) Вызвано: java.lang.NullPo
В чем причина такого поведения?

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

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

0 ответов

Другие вопросы по тегам