Mule에서 AMQP 커넥터를 사용하고 메시지가 출력 대기열에 쓰지 않고 비즈니스 필터링 기준에 맞지 않는 특정 사용 사례를 얻으려고하면 데드 레터로 라우팅해야합니다 . 이를 달성하는 가장 좋은 방법을 제안하십시오. 샘플 코드 : 메시지가 어떤 메시지 처리부 후속 메시지 실행 안 프로세서 및 메시지 큐의 실패하면 데드 편지 교환기로 전달되어야한다는 기능을 달성하기Mule : Mule을 사용하여 AMQP 끝점에 대한 데드 레터 교환 메시지 전달
<mule>
<flow>
<message source>
<message processor1>
<message processor2>
<message processor3>
<message processor4>
<message processor5>
<amqp:outbound-endpoint>
</flow>
</mule>
가장 좋은 방법. 따라서 메시지 처리기 2에서 메시지 처리기가 실패하면 3,4와 5가 실행되어서는 안되며 메시지는 데드 레터 교환으로 라우팅되어야합니다. 메시지가 어떤 단계에서도 실패하지 않으면 대기열에 기록해야합니다.
내 디자인의 메시지 프로세서는 특정 로직이 실패하면 예외를 throw해야하고 catch 블록이 아닌 경우 catch-exception 전략에 의해 catch 될 필요가있는 경우 비즈니스 bean을 포함 할 특정 메소드가 실행됩니다. 봄 콩 방법에서 나에게 제공. –
예, 그렇게 작동합니다. 'ackMode = "MANUAL"'을 사용하고 있기 때문에 구성 요소 다음에' '를 넣는 것을 잊지 마십시오. –