私はそれが間違っているかもしれないことを実感しますが、ここで私を修正するチャンスがあります!RabbitMqバインディング
Iは、デバイスを持っている - と言う... 60. 装置60はIデバイスからメッセージを受信し、メッセージヘッダ内のIDであるマスター2
によって処理されるのIDを持ちます。しかし、この段階で私のプログラムは、デバイスが割り当てられているマスターを知りません。
デバイス60のすべてのメッセージを、「Device60」というRabbitMqキューに入れたいと思っています。この時点では、何もそのキューをリッスンしていない可能性があります。だから私は何も聞いていないならば、メッセージはちょうど落とされるだろう、私は交換b/cを使用しない理由です。メッセージが処理されるまでQueue60にとどまるようにメッセージが必要です。
マスター2がオンラインになると、そのデバイスが処理する600個のデバイスのリストが表示されます。だから、その時点でバインディングを作成することができます。
「Device60」のメッセージを「Master2」キューに配信するために、キューからキューへのバインディングを実行するにはどうすればよいですか。
私は、これがすべて間違っ
要件は、任意のデバイスがメッセージ(複数可)に送信することができますし、彼らが、保存されている私はAMQPのRabbitMQの実装に基づいて「正しい」方法を理解する助けてください近づいていた場合
ありがとうございます。私の消費者はオンラインになり、「Master.2」というキューを確立します - どのようにそれが責任あるデバイスのメッセージを受け取ることができますか?申し訳ありませんが私は私の質問で明確だった。つまり、device60の交換をMaster.2のキューにバインドしますが、Device60のキューにある既存のメッセージはどうなりますか? – Wjdavis5
別のキューを作成し、ルーティングキー#を使用してバインドすることができます。 'channel.queueBind(" Master.2 "、" myexchange "、" device。# ")'のように指定します。私はあなたのポイントを持っていることを願って:)! – Gabriele
それは既存のすべてのメッセージをルーティングしますか?私の理解は、それが新しいメッセージを送るだけだったということでした。 – Wjdavis5