Percebi que foi configurado um número de 5 retentativas para esse consumer, porém foram executadas apenas 3 no log, depois da terceira, a msg foi para a dlq. O que aconteceu?
Percebi que foi configurado um número de 5 retentativas para esse consumer, porém foram executadas apenas 3 no log, depois da terceira, a msg foi para a dlq. O que aconteceu?
Olá, Luiz.
Tudo bem?
Pelo que você descreveu, parece que há uma configuração específica que pode estar interferindo no número de retentativas que você observou no log. No Spring com Kafka, a anotação @RetryableTopic
é usada para configurar retentativas automáticas, e você mencionou que configurou para 5 retentativas.
No entanto, é importante verificar se há alguma configuração de backoff
ou delay
entre as retentativas que possa estar afetando o comportamento observado. Além disso, a configuração de attempts
na anotação @RetryableTopic
deve ser verificada para garantir que está definida corretamente como 5.
Um ponto crucial a considerar é a configuração do tópico DLQ (Dead Letter Queue). Se o Kafka está configurado para enviar mensagens para a DLQ após um número específico de falhas, isso pode explicar por que você vê apenas 3 retentativas antes da mensagem ser movida para a DLQ. Por exemplo, se o tópico DLQ estiver configurado para ser usado após 3 tentativas falhas, isso explicaria o comportamento que você está observando.
Aqui está um exemplo de como você pode ter configurado a anotação @RetryableTopic
:
@KafkaListener(topics = "pix-topic", groupId = "grupo")
@RetryableTopic(
backoff = @Backoff(value = 3000L),
attempts = "5",
autoCreateTopics = "true",
include = KeyNotFoundException.class
)
public void processaPix(PixDTO pixDTO) {
// Seu código aqui
}
Certifique-se de que o número de attempts
está configurado corretamente e que não há outras configurações que possam estar limitando o número de retentativas antes de enviar para a DLQ. Também seria útil revisar os logs para quaisquer mensagens de erro ou advertências que possam fornecer mais insights sobre o que está acontecendo durante o processamento das mensagens.
Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui de novo. Bons estudos.