0
私はRabbitMq .netとメッセージの確認応答を処理しています。消費者がメッセージを処理できる場合は、処理が失敗した場合、Rabbitmqは別のキューにメッセージを移動します
channel.BasicAck(ea.DeliveryTag, false);
の形式でackを返信することができます。このメッセージはキューから取り除かれます。私は、「X-デッドレター交換」を使用して試してみました
var message = JsonConvert.DeserializeObject<object>(json);
直列化復元に問題がある場合は、「エラー・キュー」にメッセージを移動したいと思いますが、それは、「X-のメッセージ-TTLに依存します" 時間設定。私は、処理が失敗した場合にメッセージをエラーキューに移動したいだけです。どのようにこのfuncationalityを達成するために?私はオンラインで助けを見つけることができませんでした。あなたの消費者がfalse
からrequeue
フラグを設定してbasic.reject
またはbasic.nack
を使用してメッセージを拒否した場合
デッドレター交換はあなたの問題を解決する:ここでは
はRabbitMQの.NET 3.6.10クライアントに拒否する機能またはNACKメッセージです。 – lambodar