質問

これは、単一のMSMQのインスタンスでリッスンいくつかの消費者を持っているし、メッセージの明確なサブセットをそれぞれ1件の契約を持つために選択的消費者インタフェースを使用することは可能ですか?キュー上の単一の消費者が罰金を動作しますが、> 1人の消費者(同実行可能ファイルの複数のインスタンス)を使用時にメッセージがどこにも表示されない - 私は、パブリッシュ/サブスクライブを使用して正しく動作するこのシナリオを得るように見えることはできません。私はそれを理解するように、これは、単一の消費者は、単一のメッセージを処理するために、「競合する消費者のケースではありません。

すべてのヘルプやポインタが高く評価されます。

役に立ちましたか?

解決

あなたがMSMQキューからディスパッチメッセージにMassTransitを使用している場合は、

、キューがボックスにローカルであることをお勧めします。

あなたがメッセージの負荷を分散する目的で、同じキューから読んでいる複数のプロセスを持っている場合は、

ということでは言った、あなたは選択を使用することができ、そのプロセスに関連する各インスタンス内のメッセージのみを消費する受信します。

たとえば、あなたは、相関メッセージとサービスに送信するメッセージとそのサービスの応答は、あなたが識別子によって、相関メッセージを購読することができますし、のみサブスクライブメッセージが配信されることアプリケーションの複数のインスタンスを持っている場合。興味を持っているプロセスのいずれかによって処理されるまで、選択されていないメッセージはキューに残ります。

有効期限がそのように無視応答が時間をかけてキューを詰まらしていないメッセージに設定されていること

このパターンのので、それは強くお勧めします。

メッセージングを経由して、要求/応答パターンを複製するときに、このシナリオはかなり一般的である。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top