MSMQバージョン4を使用しており、トランザクションキューを使用しています。私は着信メッセージのキューを聴くためにWCFを使用しています。WCFを使用してトランザクションMSMQでメッセージを明示的にマークする方法
処理中に、サードパーティのコンポーネントに依存することがあります。これは、失敗する可能性があります。これを補うために、MSMQ 4(http://msdn.microsoft.com/en-us/library/aa395218.aspx)の毒メッセージ処理機能を使用して、メッセージを再試行します。x回の回数yの待機時間です。
しかし、状況によっては、入力メッセージが無効/中毒であることがわかります。これが発生すると、例外をスローすると、すべてのリトライと待機時間を持つ他のすべてのメッセージと同様に、メッセージが毒メッセージ処理ルーチンに従います。しかし、メッセージが中毒であることがわかったときは、再試行してポイズンキューによって処理されるように設定された時間待機する理由はありません。
メッセージを被毒していると明示的にマークする方法はありませんので、設定された再試行フローに従わずにすぐにポイズンキューに移動しますか?
私はまったく同じ問題を抱えています。 – Leon
@ Reon実際、解決策はまだ見つかりませんでした。 – Leo
私はMSMQの初心者です。私はこれを試しませんでした - 申し訳ありませんが、愚かな場合。 "ポイズンキューはメインキューのサブキューであり、" poison "という名前でMSMQによって自動的に生成されます。このキューにアクセスするには、メインキュー名の後に" ;およびサブキュー名(この場合は「poison」) ポイズンメッセージを検出してメインキューから削除し、手動でポイズンキューに送信できませんでしたか? –