2017-09-09 3 views
1

Mastransit 3.5.0을 RabbitMq과 함께 사용하고 있습니다. 큐 소비자가 예외를 throw하면 기본적으로 MoveExceptionToTransportFilter가 처리하고 _error 큐로 이동합니다. _error 대기열에 대해 별도의 소비자가 있습니다. Consume (ConsumeContext> context)Masstransit 오류 대기열이 소모되었지만 여전히 비어 있지 않습니다.

오류 동작은 다소 다릅니다. 오류의 일부는 _error 대기열에서 처리되고 제거되지만 오류 메시지의 일부는 여전히 오류 대기열에 남아 있으며이 사용자가 소비하지 않습니다. 내가 이해하기 때문에 오류가 발생하면 _error 큐가 비어 있어야합니다.

오류가 여전히 대기열에있는 이유에 대한 설명을 찾을 수 없습니다. 어쩌면 이러한 결점이 한 번 소모 되었기 때문에 머리글에서 어떤 표시를 찾을 수 없거나 다른 곳에서 찾을 수 있습니까?

답변

1

정확하지 않습니다.

  1. 오류 대기열에서 소비하지 마십시오. 오류 대기열은 진단을 위해 소비자를 추락시킨 메시지를 누적합니다.

  2. Faut<T> 메시지가 메시지가 오류 대기열로 이동하는 데 추가로 게시되었습니다. 이 두 가지는 무관하다.

  3. 소비자가 Fault 또는 Fault<T> 인 경우이 이벤트를 사용하십시오. 오류 대기열의 메시지와 아무 관련이 없습니다.

관련 문제