óla bom dia, Dentro do código do @RabbitListener ao lançar uma throw new RunTimeException("error").
Como que o Rabbit sabe que já tem que enviar para deadletter. Tipo, o que faz ele saber que tem que enviar.
Por que ao ler a mensagem parece que ele faz algum tipo de commit na queue para identificar que a mensagem já foi lida.