나는 spring-amqp와 annotation 기반 청취자가있는 spring boot를 사용하여 rabbitmq broker로부터 메시지를 소비한다. 나는이 같은 방법을 포함하는 스프링 요소했습니다 :amqp로 봄 부팅시 주석 기반 수신기를 사용하는 메시지를 NACK하는 올바른 예외 유형은 무엇입니까?
@RabbitListener(queues = "tasks")
public void receiveMessage(@Payload Task task) {...}
내가 receiveMessage (...)의 성공적인 실행 후 메시지를 확인하도록 AUTO 모드를 사용하고 있습니다. 특별한 오류가 발견되면, 나는이 메시지를 구성된 데드 레터 큐로 가져 오기 위해 AmqpRejectAndDontRequeueException을 던지고있다. 이제는 메시지를 nack해야 메시지가 rabbitmq의 메인 큐로 큐에 들어가고 다른 소비자는 다시 그 메시지를 처리 할 수 있습니다.
그 예외는 무엇입니까? 가능한 경우 여기 (http://docs.spring.io/spring-integration/reference/html/amqp.html)에 설명 된 것처럼 channel.basicNack (...)을 사용하고 싶지 않습니다.