我有如下一步配置
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();
我的阅读器配置如下
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 at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$2.recover(FaultTolerantChunkProcessor.java:289) at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:512 ) 在 org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:211) 在 org.springframework.batch.core.step 的 org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:351)。 item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) 在 org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.transform(FaultTolerantChunkProcessor.java:298) 在 org.springframework.batch.core.step.item.SimpleChunkProcessor。进程(SimpleChunkProcessor.
这种行为背后的原因是什么?
我应该怎么做才能解决这个问题?
谢谢阅读!