마지막으로 #DLQ ( #DeadLetterQueue ) 구현을 해보겠습니다. 기존 kafkaConfig 클래스에서 할 일이 많습니다.
자세한 건 소스에 주석을 달았으니 그걸 참고하세요. 핵심만 적으면 listener 에서 exception 이 발생했을 때, 1) 몇 번 재시도를 할것인지, 2) 재시도 간의 interval 은 얼마로 둘건지, 3) 최종적으로 실패가 되었을때, 어느 토픽으로 send 하면 되는지를 설정해야 합니다. 1,2번에 대한 것은 retryTemplate() 함수에서 retryTemplate 객체를 만든 후 아래를 호출해서 1,2번을 설정해줍니다. factory.setRetryTemplate(retryTemplate()); 3번은 DeadLetterPublishingRecoverer 를 만들어서 어느 토픽으로 send할지 정해주고, 아래처럼 호출해서 에러 핸들러를 등록해주면 됩니다.
이미 retryTemplate 에서 몇번재시도할지, 얼마의 interval을 둘...
#
DLQ
#
1
#
spring
#
producer
#
DeadLetterQueue
#
consumer
#
2
#
3
#
boot
#
recoverer
#
retry
#
데드레터큐
#
부트
#
스프링
#
카프카