DLQ란, Consume한 message가 ReadTimeOut이 발생했거나, 메세지를 읽어서 처리 도중, 어떠한 Exception이 났을 때 처리 되지 못한 메세지라는 개념으로 Dead Letter Queue라고 해서, 처리가 되지 않은 데이터들을 모아두는 큐이다.
이 곳에 데이터를 모아두면, 다시 재처리를 하는데 사용할 수도 있고, 또는 지금 내가 하고 싶은 것처럼 에러를 모아서 알림을 보내는 등 다른 처리를 할 수도 있겠다.
문제는 Exception마다 ErrorCode와 ErrorMessage를 정의했는데, 결국에 ErrorCode나 ErrorMessage를 지정한 값으로 담으려면 내가 핸들링하는 수 밖에 없다.
물론 기본 DLQ 설정으로는 Exception Trace 등도 같이 나와있어서 어떤 에러인지는 알 수는 있지만, 내가 Exception 내부에 설정한 Property값이나 Method 등, Exception 객체의 상태는 알 수가 없다. 그래서 나는 이걸 처리하고 싶은 것이다..
Dead Letter Queue
라고 해서, 처리가 되지 않은 데이터들을 모아두는 큐이다.상태
는 알 수가 없다. 그래서 나는 이걸 처리하고 싶은 것이다..나와 같은 고민을 하고 있는 StackOverflow의 질문 ... 그러나 1년째 답변이 없다.