카테고리 없음

Spring Kafka-사용할 배치 오류 핸들러는 무엇입니까?

기록만이살길 2021. 2. 26. 07:19
반응형

Spring Kafka-사용할 배치 오류 핸들러는 무엇입니까?

1. 질문(문제점):

방금 spring-kafka 2.6.4를 사용하기 시작했습니다. 일괄 적으로 메시지를 폴링하는 소비자 팩토리를 만들었습니다.

@Bean
public ConcurrentKafkaListenerContainerFactory<String, String>
            kafkaListenerContainerFactory(MeterRegistry meterRegistry) {
    ConcurrentKafkaListenerContainerFactory<String, String> factory =
        new ConcurrentKafkaListenerContainerFactory<>();
    factory.setConsumerFactory(consumerFactory());
    factory.setConcurrency(kafkaProperties.getTopicConcurrency());
    factory.setBatchListener(true);
    factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.BATCH);
    return factory;
}

이제 소비자가 실패한 레코드에 갇히고 다음 배치를 폴링하지 않도록하는 적절한 오류 처리기를 정의하고 싶습니다.

어떤 오류 처리기를 사용해야합니까?

감사.

2. 해결방안:

RecoveringBatchErrorHandler( https://docs.spring.io/spring-kafka/docs/current/reference/html/#recovering-batch-eh ) 이제 선호 (및 기본 2.5 이후) 배치 오류 처리기입니다. 리스너는 특정 예외를 발생시켜 배치에서 실패한 레코드를 표시 할 수 있습니다.

또한이 RetryingBatchErrorHandler( https://docs.spring.io/spring-kafka/docs/current/reference/html/#retrying-batch-eh ).

65791283
반응형