MSMQのMaxtriesが5である状況があります。5回後、nservicebusは、定義したエラーキューにメッセージを送信します。今私はこれが起こったときにいくつかのさらなるアクションを実行したい(私はいくつかのプロセスのステータスをErrorに更新しなければならない) これらのエラーキューを読むためにSagaクラスのハンドラを書くことは可能ですか?アドバンス ハリスNServiceBus Sagaでエラーキューのハンドラを書き込む方法は?
1
A
答えて
2
で
おかげで、あなたは2.xのを使用している場合は、エラー・キューは、その入力キューである別のエンドポイントを書いて検討する必要があります。これの欠点は、メッセージがキューから出ることです。それでもそれらを保存したいと仮定した場合、それらをデータベースなどのストレージにプッシュする必要があります。
メッセージをチェックするためにエラーキューをポーリングし、適切なステータスを更新するSagaを作成することもできます。キューをチェックするたびに、別のタイムアウトを要求する必要があります。
3.0では、例外をより詳細に制御でき、独自の方法でエラーを処理できます。インターフェイスIManageMessageFailuresを実装すると、そこで作業を行うことができます。
0
Adamが提供するソリューションの代わりに、メッセージがエラーキューに送信されたときに発生するServiceControlによって生成されたイベントをサブスクライブすることができます。これに関する公式のドキュメントはこちらhttp://docs.particular.net/servicecontrol/contracts
もう1つのアプローチは、ここに記載されている通知APIです:http://docs.particular.net/nservicebus/errors/subscribing-to-error-notifications。エンドポイントで直接「MessageSentToErrorQueue」などの特定のイベント(イベント・メッセージではない)をサブスクライブすることができるため、エラー・キューを使用する必要はありません。
関連する問題
- 1. NServiceBus Saga Persistence
- 2. スイッチケースを使用して2つのハンドラを書き込む方法
- 3. Nservicebus 3でエラーキューを綿密に定義する方法はありますか
- 4. DataGridViewをプログラムで書き込む方法
- 5. バイナリファイルに書き込む方法は?
- 6. チャンネル3に書き込む方法は?
- 7. OCamlファイルに書き込む方法は?
- 8. C#でファイルに書き込む方法
- 9. インクルードファイルにハイパーリンクを書き込む方法
- 10. リンクリストオブジェクトをファイルに書き込む方法
- 11. カーネルスペースにパケットを書き込む方法
- 12. Log4jをコンソールに書き込む方法
- 13. $ .getJSONにオプションパラメータを書き込む方法
- 14. Ext.jsのmemoryproxyに書き込む方法
- 15. VB.NET:MVCのPlaceHolderに書き込む方法
- 16. 直接のByteBufferをネイティブに書き込む/読む方法は?
- 17. 割り込みハンドラがFIFOに書き込むことができます
- 18. JPAで名前付きネイティブサブクエリを書き込む方法は?
- 19. Jetty:アクセスログに書き込む方法
- 20. NServiceBus Sagaの単体テストを作成するには?
- 21. CでLinux上のDVDにメモリデータを書き込む方法は?
- 22. iphoneでplistの配列オブジェクトを書き込む方法は?
- 23. LINQでSQLクエリで選択カウントグループを書き込む方法は?
- 24. pdfファイルを読み込んでoutputStreamに書き込む方法
- 25. WPF:テキストを別の方向に書き込む方法は?
- 26. Rubyでcsvファイルに列ヘッダを書き込む方法は?
- 27. Windows Phone 7.1でファイルを書き込む方法は?
- 28. EF4で汎用エンティティ名をコンストラクタに書き込む方法は?
- 29. C#で状態マシンを書き込む方法は?
- 30. AJAX/PHPでjQuery変数をテキストファイルに書き込む方法は?
ありがとうございました。最初にNServiceBus 3.0をインストールしてから、何が最善の解決策であるかを見てみましょう。 – user993104