0

エンドポイントがクライアントからコマンドを受信し、次のような別のエンドポイントからのイベントをサブスクライブする必要があります。

1-受信したコマンドは1回だけ試行され、例外が発生した場合はエラーキューに送信されます

2-受信したイベントは、処理されるまで無期限に試行されます

MaxRetriesの賭けは、メッセージの種類に応じて異なる方法で設定できますか?

4

2 に答える 2

1

NSBソースを調べたところ、NSB3.3ではMaxRetriesがメッセージごとに異なる値をとることができないことがわかりました。幸い、メッセージをエラーキューに転送するクラスをオーバーライドし、失敗したメッセージがイベントであるかどうかを確認する独自のバージョンを実装してから、代わりにエラーキューに転送して、現在のエンドポイントに再度送信できます。

于 2013-01-29T21:35:38.303 に答える
1

NServiceBus MaxRetries設定はデッドロックなどを処理するためのものであるため、このシナリオで実際に必要なものではありません。

必要なのは、SLRを使用してこの状況を処理することです。

例外タイプに基づいてフィルタリングするには、http://andreasohlund.net/2012/09/26/disabling-second-level-retries-for-specific-exceptions/を参照してください。

お役に立てれば!

于 2013-01-30T01:32:08.787 に答える