fabriciolfj / kafka-dlq

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kafka-dlq

  • nesse projeto demonstra o uso do dlt (dlq) com spring kafka
  • desabilitamos o retry do spring kafka para demonstração, conforme abaixo:
    @KafkaListener(topics = { "persons"}, groupId = "persons")
    @RetryableTopic(attempts = "1", kafkaTemplate = "retryableTopicKafkaTemplate") //representa o número de tentativas antes de enviar a dlq
    public void handlePerson(final Person person, @Header(KafkaHeaders.RECEIVED_TOPIC) String topic) {
        log.info("receive {}, source topic {}", person, topic);
    }
  • para o dlt funcionar, precisamos de um método anotado com @DltHandler, na mesma classe do listener correspondente
  • temos 3 configurações dlt
    • FAIL_ON_ERROR -> quando o consumidor não consegui processar o evento, o mesmo cai na dlt
    • ALWAYS_RETRY_ON_ERROR -> grante que o consumidor dlt tenta reprocessar o evento em caso de falha
    • NO_DLT -> desativa o DLT

About


Languages

Language:Java 100.0%