3

私がオンラインで見つけたすべての例では、メッセージが消費される前に交換とキューが宣言されていることがわかります。交換を宣言するのは奇妙に思えます。複数の交換にバインドされている可能性があるキューを消費しています (または、古いメッセージが待機しているだけの可能性があります)。

また、キューを宣言する理由が思いつきません。これには、キューを消費するために知る必要のないキューに関する情報 (auto_delete や耐久性など) を知る必要があります。

ローカルでテストしたところ、何も宣言せずにキューを消費できました。できます。だから、私がオンラインで見たすべての例で、交換とキューを宣言しているだけなのに、なぜそれを消費しているのか疑問に思っています。

ありがとう!!!

4

2 に答える 2

2

一般に、consumer で exchange と queue を宣言する必要はありません。「交換/キュー」トポロジを別の場所で組み立てる必要があります。データベースのスキーマのようなものです。

しかし、常に例外があります。リアルタイム処理に「プライベート」キュー (exclusive=true) が必要な場合、コンシューマーはソース交換について (構成によって) 認識し、独自のキューをそれにバインドする必要があります。

他のケースでは、発行者が交換を宣言し、消費者が交換の命名規則 (パターン) を使用してそれを発見できる状況を想像できます。

于 2015-04-02T11:22:29.610 に答える