3

メッセージをディスパッチするために、アプリケーションでNServiceBusを使用することを計画しています。この場合、各メッセージにはtimeToLive、このメッセージを処理する期間を定義するプロパティがあります。

メッセージの処理が最初の試行で失敗した場合、メッセージが正常に処理されるかtimeToLive期限切れになるまで、メッセージを特定の再試行ストレージ(再試行キュー)に移動し、再試行メッセージ(再試行の間にタイムアウトがあります)よりも移動する予定です。

有効期限が切れた場合 timeToLiveは、メッセージの内容をログに記録し、メッセージを破棄する予定です。

実際、この再試行動作は、ほとんどの場合、実装しているプロトコルによって決定されます。

NServiceBusでこのような動作を実現する方法はありますか?わかりました。失敗したメッセージは特定のに送信されますerror queue。エラーキューを指す別のバスを作成することは可能ですか?

4

1 に答える 1

4

エラーキューを監視する別のプロセスを用意し、説明したロジックに従って再試行を実行することをお勧めします。nservicebus に付属の ReturnToSourceQueue ツールを参考にしてください。

http://nservicebus.svn.sourceforge.net/viewvc/nservicebus/trunk/src/tools/management/Errors/ReturnToSourceQueue/NServiceBus.Tools.Management.Errors.ReturnToSourceQueue/Class1.cs?view=markup

いくつかのアイデアを提供する可能性のある障害の処理方法に関するブログ投稿があります

お役に立てれば!

于 2010-03-15T13:38:56.933 に答える