MSMQでトランザクションキューを作成しました。次に、そのキューに2つのメッセージを正常に送信します。最初のメッセージはプロセッサにエラーを引き起こし、MSMQトランザクションはロールバックされます。メッセージはキューに戻されます。 2番目のメッセージは処理され、MSMQトランザクションがコミットされると成功します。MSMQトランザクション
注:最初のメッセージを別の/ポイズンのキューに移動するコードはまだありません。これは、処理が続行され、理論上はメッセージ2が処理されることはありません。
問題:1つのリスナ/プロセッサがそのトランザクションキューからメッセージを処理している場合、メッセージ2は決してピックアップされません。これは予想されます。
ただし、2つのリスナーがある場合は、メッセージ2が選択されます。それは私を混乱させる。 MSMQのトランザクションキューは、到着した順にメッセージを処理できると思っていました。
サイドノート:メッセージ1をさらに処理して別のキューに移動することはできません。 MSMQは、メッセージがプロセッサによって取得された回数をカウントしますか?