Reputation: 75
I am using Mastransit 3.5.0 with RabbitMq. If queue consumers throws exception, its is handled by default MoveExceptionToTransportFilter and moved to _error queue. For _error queue I have seperate consumer: Consume(ConsumeContext> context)
Behavior of Fault is rather different. Part of errors are handled and removed from _error queue, but part of error message still remain in error queue and do not consumed by this consumer. As I understand If I have Fault consumer then _error queue should be empty.
I can not find explanation, why errors are still in queue. Maybe because these faults were once consumed, but I cant find any indication in the headers or else where?
Upvotes: 4
Views: 3044
Reputation: 19600
This is not correct.
You should not consume from the error queue. Error queue accumulates messages that crashed their consumers, for diagnostics purposes.
Faut<T>
messages are published in addition to moving messages to the error queue. These two things are unrelated.
If you have a consumer of Fault
or Fault<T>
events, you just do that - consume these events. It has nothing to do with messages in the error queue.
Upvotes: 6