最新の安定バージョンについては、spring-cloud-stream 5.0.1 を使用してください。 |
RabbitMQ コンシューマープロパティ
次のプロパティは Rabbit コンシューマーでのみ使用可能であり、接頭辞 spring.cloud.stream.rabbit.bindings.<channelName>.consumer. を付ける必要があります。
ただし、同じプロパティのセットをほとんどのバインディングに適用する必要がある場合は、繰り返しを避けるために、Spring Cloud Stream はすべてのチャネルの値を spring.cloud.stream.rabbit.default.<property>=<value> の形式で設定することをサポートしています。
また、特定のプロパティをバインドすると、デフォルトで同等のプロパティが上書きされることに注意してください。
- acknowledgeMode
確認応答モード。
デフォルト:
AUTO.- anonymousGroupPrefix
バインディングに
groupプロパティがない場合、匿名の自動削除キューが宛先交換にバインドされます。このようなキューのデフォルトの命名戦略により、anonymous.<base64 representation of a UUID>という名前のキューが作成されます。このプロパティを設定して、プレフィックスをデフォルト以外のものに変更します。デフォルト:
anonymous..- autoBindDlq
DLQ を自動的に宣言し、それをバインダー DLX にバインドするかどうか。
デフォルト:
false.- bindingRoutingKey
キューを交換にバインドするためのルーティングキー(
bindQueueがtrueの場合)。複数のキーにすることができます。bindingRoutingKeyDelimiterを参照してください。パーティション化された宛先の場合、-<instanceIndex>が各キーに追加されます。デフォルト:
#.- bindingRoutingKeyDelimiter
これが null でない場合、"bindingRoutingKey" はこの値で区切られたキーのリストであると見なされ、多くの場合、コンマが使用されます。
デフォルト:
null.- bindQueue
キューを宣言して宛先交換にバインドするかどうか。独自のインフラストラクチャをセットアップし、以前にキューを作成してバインドしたことがある場合は、
falseに設定します。デフォルト:
true.- consumerTagPrefix
コンシューマータグを作成するために使用されます。
#nが追加されます。ここで、nは、作成されたコンシューマーごとに増分します。例:${spring.application.name}-${spring.cloud.stream.bindings.input.group}-${spring.cloud.stream.instance-index}。デフォルト: なし - ブローカーはランダムなコンシューマータグを生成します。
- containerType
使用するリスナーコンテナーの種類を選択します。詳細については、Spring AMQP ドキュメントのコンテナーの選択を参照してください。[rabbitmq-stream] も参照してください。
デフォルト:
simple- deadLetterQueueName
DLQ の名前
デフォルト:
prefix+destination.dlq- deadLetterExchange
キューに割り当てる DLX。
autoBindDlqがtrueの場合にのみ関連します。デフォルト: 「プレフィックス +DLX」
- deadLetterExchangeType
キューに割り当てる DLX の型。
autoBindDlqがtrueの場合にのみ関連します。デフォルト: ' 直接 '
- deadLetterRoutingKey
キューに割り当てるデッドレタールーティングキー。
autoBindDlqがtrueの場合にのみ関連します。デフォルト:
destination- declareDlx
宛先のデッドレター交換を宣言するかどうか。
autoBindDlqがtrueの場合にのみ関連します。DLX が事前構成されている場合は、falseに設定します。デフォルト:
true.- declareExchange
宛先の交換を宣言するかどうか。
デフォルト:
true.- delayedExchange
交換を
Delayed Message Exchangeとして宣言するかどうか。ブローカーに遅延メッセージ交換プラグインが必要です。x-delayed-type引数はexchangeTypeに設定されます。デフォルト:
false.- dlqBindingArguments
dlq をデッドレター交換にバインドするときに適用される引数。
headersdeadLetterExchangeTypeとともに使用して、一致するヘッダーを指定します。たとえば、…dlqBindingArguments.x-match=any、…dlqBindingArguments.someHeader=someValue。デフォルト: 空
- dlqDeadLetterExchange
DLQ が宣言されている場合、そのキューに割り当てる DLX。
デフォルト:
none- dlqDeadLetterRoutingKey
DLQ が宣言されている場合、そのキューに割り当てるデッドレタールーティングキー。
デフォルト:
none- dlqExpires
未使用のデッドレターキューが削除されるまでの時間(ミリ秒単位)。
デフォルト:
no expiration- dlqLazy
x-queue-mode=lazy引数を使用してデッドレターキューを宣言します。“怠惰なキュー” (英語) を参照してください。ポリシーを使用すると、キューを削除せずに設定を変更できるため、この設定の代わりにポリシーを使用することを検討してください。デフォルト:
false.- dlqMaxLength
デッドレターキュー内のメッセージの最大数。
デフォルト:
no limit- dlqMaxLengthBytes
すべてのメッセージからのデッドレターキューの合計バイト数の最大数。
デフォルト:
no limit- dlqMaxPriority
デッドレターキュー(0-255)内のメッセージの最大優先度。
デフォルト:
none- dlqOverflowBehavior
dlqMaxLengthまたはdlqMaxLengthBytesを超えたときに実行するアクション。現在drop-headまたはreject-publishですが、RabbitMQ のドキュメントを参照してください。デフォルト:
none- dlqQuorum.deliveryLimit
quorum.enabled=trueの場合、配信制限を設定してから、メッセージがドロップまたはデッドレターになります。デフォルト: なし - ブローカーのデフォルトが適用されます。
- dlqQuorum.enabled
true の場合、従来のキューの代わりにクォーラムデッドレターキューを作成します。
デフォルト: false
- dlqQuorum.initialGroupSize
quorum.enabled=trueの場合、初期クォーラムサイズを設定します。デフォルト: なし - ブローカーのデフォルトが適用されます。
- dlqSingleActiveConsumer
true に設定すると、
x-single-active-consumerキュープロパティが true に設定されます。デフォルト:
false- dlqTtl
宣言されたときにデッドレターキューに適用されるデフォルトの存続時間(ミリ秒単位)。
デフォルト:
no limit- durableSubscription
サブスクリプションが永続的である必要があるかどうか。
groupも設定されている場合にのみ有効です。デフォルト:
true.- exchangeAutoDelete
declareExchangeが true の場合、交換を自動削除する(つまり、最後のキューが削除された後に削除する)かどうか。デフォルト:
true.- exchangeDurable
declareExchangeが真の場合、交換が永続的であるかどうか(つまり、ブローカーの再起動後も存続するかどうか)。デフォルト:
true.- exchangeType
交換型: パーティション化されていない宛先の場合は
direct、fanout、headersまたはtopic、パーティション化された宛先の場合はdirect、ヘッダー、topic。デフォルト:
topic.- exclusive
排他的なコンシューマーを作成するかどうか。これが
trueの場合、同時実行性は 1 である必要があります。厳密な順序付けが必要な場合によく使用されますが、障害後にホットスタンバイインスタンスが引き継ぐことができます。スタンバイインスタンスが消費を試みる頻度を制御するrecoveryIntervalを参照してください。RabbitMQ 3.8 以降を使用する場合は、代わりにsingleActiveConsumerの使用を検討してください。デフォルト:
false.- expires
未使用のキューが削除されるまでの時間(ミリ秒単位)。
デフォルト:
no expiration- failedDeclarationRetryInterval
キューが欠落している場合に、キューからの消費を試行する間隔(ミリ秒単位)。
デフォルト: 5000
- frameMaxHeadroom
スタックトレースを DLQ メッセージヘッダーに追加するときに他のヘッダー用に予約するバイト数。すべてのヘッダーは、ブローカーで構成された
frame_maxサイズ内に収まる必要があります。スタックトレースは大きくなる可能性があります。サイズにこのプロパティを加えたものがframe_maxを超える場合、スタックトレースは切り捨てられます。警告ログが書き込まれます。例外をキャッチし、スタックトレースが小さいものをスローすることにより、frame_maxを増やすか、スタックトレースを減らすことを検討してください。デフォルト: 20000
- headerPatterns
受信メッセージからマッピングされるヘッダーのパターン。
デフォルト:
['*'](すべてのヘッダー)。- lazy
x-queue-mode=lazy引数を使用してキューを宣言します。“怠惰なキュー” (英語) を参照してください。ポリシーを使用すると、キューを削除せずに設定を変更できるため、この設定の代わりにポリシーを使用することを検討してください。デフォルト:
false.- maxConcurrency
コンシューマーの最大数。
containerTypeがdirectの場合はサポートされません。デフォルト:
1.- maxLength
キュー内のメッセージの最大数。
デフォルト:
no limit- maxLengthBytes
すべてのメッセージからのキュー内の合計バイト数の最大数。
デフォルト:
no limit- maxPriority
キュー内のメッセージの最大優先度(0-255)。
デフォルト:
none- missingQueuesFatal
キューが見つからない場合、その状態を致命的なものとして扱い、リスナーコンテナーを停止するかどうか。デフォルトは
falseであるため、コンテナーはキューからの消費を継続します。たとえば、クラスターを使用していて、非 HA キューをホストしているノードがダウンしている場合です。デフォルト:
false- overflowBehavior
maxLengthまたはmaxLengthBytesを超えたときに実行するアクション。現在drop-headまたはreject-publishですが、RabbitMQ のドキュメントを参照してください。デフォルト:
none- prefetch
プリフェッチカウント。
デフォルト:
1.- prefix
destinationおよびキューの名前に追加されるプレフィックス。デフォルト: "".
- queueBindingArguments
キューを取引所にバインドするときに適用される引数。
headersexchangeTypeとともに使用して、一致するヘッダーを指定します。たとえば、…queueBindingArguments.x-match=any、…queueBindingArguments.someHeader=someValue。デフォルト: 空
- queueDeclarationRetries
キューが欠落している場合に、キューからの消費を再試行する回数。
missingQueuesFatalがtrueの場合にのみ関連します。それ以外の場合、コンテナーは無期限に再試行し続けます。containerTypeがdirectの場合はサポートされません。デフォルト:
3- queueNameGroupOnly
true の場合、
groupと等しい名前のキューから消費します。それ以外の場合、キュー名はdestination.groupです。これは、たとえば、Spring Cloud Stream を使用して既存の RabbitMQ キューから消費する場合に役立ちます。デフォルト: false。
- quorum.deliveryLimit
quorum.enabled=trueの場合、配信制限を設定してから、メッセージがドロップまたはデッドレターになります。デフォルト: なし - ブローカーのデフォルトが適用されます。
- quorum.enabled
true の場合、従来のキューの代わりにクォーラムキューを作成します。
デフォルト: false
- quorum.initialGroupSize
quorum.enabled=trueの場合、初期クォーラムサイズを設定します。デフォルト: なし - ブローカーのデフォルトが適用されます。
- recoveryInterval
接続回復の試行間隔(ミリ秒単位)。
デフォルト:
5000.- requeueRejected
再試行が無効になっている場合、または
republishToDlqがfalseの場合に、配信の失敗を再キューイングする必要があるかどうか。デフォルト:
false.
- republishDeliveryMode
republishToDlqがtrueの場合、再発行されたメッセージの配信モードを指定します。デフォルト:
DeliveryMode.PERSISTENT- republishToDlq
デフォルトでは、再試行回数の上限に達した後に失敗したメッセージは拒否されます。デッドレターキュー (DLQ) が設定されている場合、RabbitMQ は失敗したメッセージ (変更なし) を DLQ にルーティングします。
trueに設定されている場合、バインダーは、最終的な失敗の原因からの例外メッセージとスタックトレースを含む追加ヘッダーとともに、失敗したメッセージを DLQ に再発行します。frameMaxHeadroom プロパティも参照してください。デフォルト:
true- singleActiveConsumer
true に設定すると、
x-single-active-consumerキュープロパティが true に設定されます。デフォルト:
false- transacted
トランザクションチャネルを使用するかどうか。
デフォルト:
false.- ttl
宣言されたときにキューに適用するためのデフォルトの存続時間(ミリ秒単位)。
デフォルト:
no limit- txSize
ラック間の配信数。
containerTypeがdirectの場合はサポートされません。デフォルト:
1.