DefaultErrorHandler 不记录不可重试的异常
DefaultErrorHandler doesn't log not retryable exceptions
当与 DeadLetterPublishingRecoverer
一起使用时,DefaultErrorHandler
中不会记录不可重试的异常。
@Bean
public CommonErrorHandler consumerErrorHandler(KafkaTemplate<String, KafkaMessage> kafkaTemplate) {
var errorHandler = new DefaultErrorHandler(new DeadLetterPublishingRecoverer(kafkaTemplate), kafkaConsumerRetryProperties.getBackoffPolicy());
errorHandler.addNotRetryableExceptions(NullPointerException.class);
return errorHandler;
}
在这种情况下,当抛出带有 @KafkaListener
注释的方法时,NullPointerException
不会被记录
欢迎在 GitHub 上提出问题。同时,您可以在调用 super.accept()
.
之前将 DLPR 子类化并在 accept()
中记录异常
当与 DeadLetterPublishingRecoverer
一起使用时,DefaultErrorHandler
中不会记录不可重试的异常。
@Bean
public CommonErrorHandler consumerErrorHandler(KafkaTemplate<String, KafkaMessage> kafkaTemplate) {
var errorHandler = new DefaultErrorHandler(new DeadLetterPublishingRecoverer(kafkaTemplate), kafkaConsumerRetryProperties.getBackoffPolicy());
errorHandler.addNotRetryableExceptions(NullPointerException.class);
return errorHandler;
}
在这种情况下,当抛出带有 @KafkaListener
NullPointerException
不会被记录
欢迎在 GitHub 上提出问题。同时,您可以在调用 super.accept()
.
accept()
中记录异常