2017-11-26 9 views
0

私はRabbit MQを初めて使用しています。単一のキューが異なるroutingKeyでルーティングされたメッセージを保持することができたように私の質問はおよそ以下​​特定のルーティングキーを使用してメッセージを消費していますか?

 channel.basicConsume(queueName, true, consumer) 

で言及リンクでRabbit MQ tutorial

のカップルをお読みください。消費者が特定のルーティングキーを使用してメッセージを消費するとします。 可能ですか?この場合、特定のキューにのみ1つのルーティングキーを使用してmeesageを公開する必要がありますか?私はRabbitMQのプロデューサーでChannel API

+0

「単一のキューが異なるroutingKeyでルーティングされたメッセージを保持できるため」という点を教えてください。私はいくつかの文脈を欠いていると思う... – cantSleepNow

答えて

1

下のいずれかの方法が表示されない

an exchangeにないqueueに公開する - これは、消費者から生産者を分離します。 はい、in the official articleと記載されているように、別のrouting keyを同じキュー内にルーティングすることができます。これを行うには、more than one binding for that queueを作成するだけです。今

直接あなたの質問に答えるために:あなたは、消費者が聴きたい各routing keyため

:あなたはキューごとに1つのルーティングキーを持たせたい場合は、次の操作を行う必要があるが

  • 作成キュー
  • channel.queueBind(queueName, EXCHANGE_NAME, <your_routing_key>);をそのキューに対して1回だけ呼び出します。
関連する問題