8

コンシューマ キューが「#.topic」でバインドされるように、トピック交換をセットアップしました。プレフィックスに基づいて、さまざまな承認戦略を使用したいと考えています。完全なルーティング キーがコンシューマーに送信されますか? もしそうなら、どうすればアクセスできますか?AMQP の概念に関する回答でおそらく十分ですが、rabbitmq-c に関する回答が理想的です。

4

1 に答える 1

8

例で示したようなバインディングを行った場合でも、受信したメッセージには完全なルーティング キーが含まれています。これは、メッセージを処理するためにそれを抽出できることを意味します。残念ながら、私はJavaでこれを行う方法しか知らないので、そこから推測してみてください。

QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String routingKey = delivery.getEnvelope().getRoutingKey();

配信オブジェクトには、取得可能なペイロードである本体とdelivery.getBody()、完全なルーティング キーなどの他の情報を含む Envelope オブジェクトが含まれます。

于 2012-11-19T14:59:02.307 に答える