最新の安定バージョンについては、spring-cloud-stream 4.2.1 を使用してください。 |
既存のキュー / 交換の使用
デフォルトでは、バインダーは、宛先バインディングプロパティ <prefix><destination>
の値から派生した名前でトピック交換を自動的にプロビジョニングします。指定しない場合、宛先はデフォルトでバインディング名になります。コンシューマーをバインドする場合、キューは <prefix><destination>.<group>
という名前で自動的にプロビジョニングされます(group
バインディングプロパティが指定されている場合)。または、group
がない場合は、匿名の自動削除キューがプロビジョニングされます。キューは、非パーティションバインディングの場合は "match-all" ワイルドカードルーティングキー(#
)、パーティションバインディングの場合は <destination>-<instanceIndex>
を使用して交換にバインドされます。プレフィックスは、デフォルトでは空の String
です。出力バインディングが requiredGroups
で指定されている場合、キュー / バインディングはグループごとにプロビジョニングされます。
このデフォルトの動作を変更できるウサギ固有のバインディングプロパティがいくつかあります。
使用したい既存の交換 / キューがある場合、交換の名前が myExchange
で、キューの名前が myQueue
であると仮定すると、次のように自動プロビジョニングを完全に無効にできます。
spring.cloud.stream.bindings.<binding name>.destination=myExchange
spring.cloud.stream.bindings.<binding name>.group=myQueue
spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindQueue=false
spring.cloud.stream.rabbit.bindings.<binding name>.consumer.declareExchange=false
spring.cloud.stream.rabbit.bindings.<binding name>.consumer.queueNameGroupOnly=true
バインダーにキュー / 交換をプロビジョニングさせたいが、ここで説明したデフォルト以外のものを使用してプロビジョニングしたい場合は、次のプロパティを使用します。詳細については、上記のプロパティドキュメントを参照してください。
spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindingRoutingKey=myRoutingKey
spring.cloud.stream.rabbit.bindings.<binding name>.consumer.exchangeType=<type>
spring.cloud.stream.rabbit.bindings.<binding name>.producer.routingKeyExpression='myRoutingKey'
autoBindDlq
が true
の場合、デッドレター交換 / キューを宣言するときに使用される同様のプロパティがあります。