RabbitMQ プロデューサーのプロパティ
次のプロパティは Rabbit プロデューサーのみが使用でき、接頭辞 spring.cloud.stream.rabbit.bindings.<channelName>.producer.
を付ける必要があります。
ただし、同じプロパティのセットをほとんどのバインディングに適用する必要がある場合は、繰り返しを避けるために、Spring Cloud Stream はすべてのチャネルの値を spring.cloud.stream.rabbit.default.<property>=<value>
の形式で設定することをサポートしています。
また、特定のプロパティをバインドすると、デフォルトで同等のプロパティが上書きされることに注意してください。
- altermateExchange.binding.queue
交換がまだ存在せず、
name
が提供されている場合は、このキューを代替交換にバインドします。引数のない単純な永続キューがプロビジョニングされます。より高度な構成が必要な場合は、キューを自分で構成してバインドする必要があります。デフォルト:
null
alternateExchange.binding.routingKey 交換機がまだ存在せず、name
およびqueue
が提供されている場合は、このルーティングキーを使用してキューを代替交換機にバインドします。デフォルト:
#
(デフォルトのtopic
代替交換用)- alternateExchange.exists
代替交換が存在するかどうか、プロビジョニングが必要かどうか。
デフォルト:
false
- alternateExchange.type
代替取引所がまだ存在しない場合は、プロビジョニングする取引所の型。
デフォルト:
topic
- alternateExchange.name
宛先交換機で代替交換機を構成します。
デフォルト:
null
- autoBindDlq
DLQ を自動的に宣言し、それをバインダー DLX にバインドするかどうか。
デフォルト:
false
.- batchingEnabled
プロデューサーによるメッセージのバッチ処理を有効にするかどうか。メッセージは、次のプロパティ (このリストの次の 3 つのエントリで説明) に従って 1 つのメッセージにバッチ処理されます: 'batchSize'、
batchBufferLimit
、batchTimeout
。詳細については、バッチ処理を参照してください。また、バッチメッセージの受信も参照してください。デフォルト:
false
.- batchSize
バッチ処理が有効になっているときにバッファリングするメッセージの数。
デフォルト:
100
.- batchBufferLimit
バッチ処理が有効になっている場合の最大バッファサイズ。
デフォルト:
10000
.- batchTimeout
バッチ処理が有効になっている場合のバッチタイムアウト。
デフォルト:
5000
.- bindingRoutingKey
キューを交換にバインドするためのルーティングキー(
bindQueue
がtrue
の場合)。複数のキーにすることができます。bindingRoutingKeyDelimiter
を参照してください。パーティション化された宛先の場合、-n
が各キーに追加されます。requiredGroups
が提供されている場合にのみ適用され、それらのグループにのみ適用されます。デフォルト:
#
.- bindingRoutingKeyDelimiter
これが null でない場合、"bindingRoutingKey" はこの値で区切られたキーのリストであると見なされます。多くの場合、コンマが使用されます。
requiredGroups
が提供されている場合にのみ適用され、その場合はそれらのグループにのみ適用されます。デフォルト:
null
.- bindQueue
キューを宣言して宛先交換にバインドするかどうか。独自のインフラストラクチャをセットアップし、以前にキューを作成してバインドしたことがある場合は、
false
に設定します。requiredGroups
が提供されている場合にのみ適用され、それらのグループにのみ適用されます。デフォルト:
true
.- compress
送信時にデータを圧縮する必要があるかどうか。
デフォルト:
false
.- confirmAckChannel
errorChannelEnabled
が true の場合、肯定的な配信確認を送信するチャネル(別名パブリッシャーが確認)。チャネルが存在しない場合は、DirectChannel
がこの名前で登録されます。接続ファクトリは、発行者が確認できるように構成する必要があります。useConfirmHeader
と相互に排他的です。デフォルト:
nullChannel
(ack は破棄されます)。- deadLetterQueueName
DLQ の名前は、
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
prefix+destination.dlq
- deadLetterExchange
キューに割り当てる DLX。
autoBindDlq
がtrue
の場合にのみ関連します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: 「プレフィックス +DLX」
- deadLetterExchangeType
キューに割り当てる DLX の型。
autoBindDlq
がtrue
の場合にのみ関連します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: ' 直接 '
- deadLetterRoutingKey
キューに割り当てるデッドレタールーティングキー。
autoBindDlq
がtrue
の場合にのみ関連します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
destination
- declareDlx
宛先のデッドレター交換を宣言するかどうか。
autoBindDlq
がtrue
の場合にのみ関連します。DLX が事前構成されている場合は、false
に設定します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
true
.- declareExchange
宛先の交換を宣言するかどうか。
デフォルト:
true
.- delayExpression
メッセージに適用する遅延を評価するための SpEL 式(
x-delay
ヘッダー)。交換が遅延メッセージ交換でない場合は効果がありません。デフォルト:
x-delay
ヘッダーは設定されていません。- delayedExchange
交換を
Delayed Message Exchange
として宣言するかどうか。ブローカーに遅延メッセージ交換プラグインが必要です。x-delayed-type
引数はexchangeType
に設定されます。デフォルト:
false
.- deliveryMode
配信モード。
デフォルト:
PERSISTENT
.- dlqBindingArguments
dlq をデッドレター交換にバインドするときに適用される引数。
headers
deadLetterExchangeType
とともに使用して、一致するヘッダーを指定します。たとえば、…dlqBindingArguments.x-match=any
、…dlqBindingArguments.someHeader=someValue
。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: 空
- dlqDeadLetterExchange
DLQ が宣言されると、そのキューに割り当てる DLX。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
none
- dlqDeadLetterRoutingKey
DLQ が宣言されると、そのキューに割り当てるデッドレタールーティングキー。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
none
- dlqExpires
未使用のデッドレターキューが削除されるまでの時間(ミリ秒単位)。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no expiration
- dlqLazy
x-queue-mode=lazy
引数を使用してデッドレターキューを宣言します。“怠惰なキュー” (英語) を参照してください。ポリシーを使用すると、キューを削除せずに設定を変更できるため、この設定の代わりにポリシーを使用することを検討してください。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。- dlqMaxLength
デッドレターキュー内のメッセージの最大数。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no limit
- dlqMaxLengthBytes
すべてのメッセージからのデッドレターキューの合計バイト数の最大数。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no limit
- dlqMaxPriority
デッドレターキュー内のメッセージの最大優先度(0-255)
requiredGroups
が提供されている場合にのみ適用され、次にそれらのグループにのみ適用されます。デフォルト:
none
- dlqQuorum.deliveryLimit
quorum.enabled=true
の場合、配信制限を設定してから、メッセージがドロップまたはデッドレターになります。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: なし - ブローカーのデフォルトが適用されます。
- dlqQuorum.enabled
true の場合、従来のキューの代わりにクォーラムデッドレターキューを作成します。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: false
- dlqQuorum.initialGroupSize
quorum.enabled=true
の場合、初期クォーラムサイズを設定します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: なし - ブローカーのデフォルトが適用されます。
- dlqSingleActiveConsumer
true に設定すると、
x-single-active-consumer
キュープロパティが true に設定されます。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
false
- dlqTtl
宣言されたときにデッドレターキューに適用されるデフォルトの存続時間(ミリ秒単位)。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no limit
- exchangeAutoDelete
declareExchange
がtrue
の場合、交換を自動削除するかどうか(最後のキューが削除された後に削除されます)。デフォルト:
true
.- exchangeDurable
declareExchange
がtrue
の場合、交換が永続的である必要があるかどうか(ブローカーの再起動後も存続します)。デフォルト:
true
.- exchangeType
交換型: パーティション化されていない宛先の場合は
direct
、fanout
、headers
またはtopic
、パーティション化された宛先の場合はdirect
、headers
またはtopic
。デフォルト:
topic
.- expires
未使用のキューが削除されるまでの時間(ミリ秒単位)。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no expiration
- headerPatterns
送信メッセージにマップされるヘッダーのパターン。
デフォルト:
['*']
(すべてのヘッダー)。- lazy
x-queue-mode=lazy
引数を使用してキューを宣言します。“怠惰なキュー” (英語) を参照してください。ポリシーを使用すると、キューを削除せずに設定を変更できるため、この設定の代わりにポリシーを使用することを検討してください。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
false
.- maxLength
キュー内のメッセージの最大数。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no limit
- maxLengthBytes
すべてのメッセージからのキュー内の合計バイト数の最大数。
requiredGroups
が提供されている場合にのみ適用され、それらのグループにのみ適用されます。デフォルト:
no limit
- maxPriority
キュー内のメッセージの最大優先度(0-255)。
requiredGroups
が提供されている場合にのみ適用され、それらのグループにのみ適用されます。デフォルト:
none
- prefix
destination
交換の名前に追加されるプレフィックス。デフォルト: "".
- producerType
プロデューサーの型。
クラシックキューおよびクォーラムキュー用の
AMQP
AMQP クライアントSTREAM_SYNC
RabbitMQ Streams プラグインクライアント、確認を受信するまでブロックSTREAM_ASYNC
RabbitMQ ストリームプラグインクライアント、ブロックしないデフォルト: "".
- queueBindingArguments
キューを取引所にバインドするときに適用される引数。
headers
exchangeType
とともに使用して、一致するヘッダーを指定します。たとえば、…queueBindingArguments.x-match=any
、…queueBindingArguments.someHeader=someValue
。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: 空
- queueNameGroupOnly
true
の場合、group
と等しい名前のキューから消費します。それ以外の場合、キュー名はdestination.group
です。これは、たとえば、Spring Cloud Stream を使用して既存の RabbitMQ キューから消費する場合に役立ちます。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: false。
- quorum.deliveryLimit
quorum.enabled=true
の場合、配信制限を設定してから、メッセージがドロップまたはデッドレターになります。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: なし - ブローカーのデフォルトが適用されます。
- quorum.enabled
true の場合、従来のキューの代わりにクォーラムキューを作成します。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: false
- quorum.initialGroupSize
quorum.enabled=true
の場合、初期クォーラムサイズを設定します。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト: なし - ブローカーのデフォルトが適用されます。
- routingKeyExpression
メッセージのパブリッシュ時に使用するルーティングキーを決定する SpEL 式。固定ルーティングキーの場合は、
routingKey
を使用します。デフォルト: パーティション化された宛先の場合は
destination
またはdestination-<partition>
。- routingKey
メッセージの発行時に使用する固定ルーティングキーを定義する文字列。
デフォルト:
routingKeyExpression
を参照- singleActiveConsumer
true に設定すると、
x-single-active-consumer
キュープロパティが true に設定されます。requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
false
- transacted
トランザクションチャネルを使用するかどうか。
デフォルト:
false
.- ttl
宣言されたときにキューに適用するために存続するデフォルトの時間(ミリ秒単位)。
requiredGroups
が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。デフォルト:
no limit
- useConfirmHeader
パブリッシャーが確認を参照してください。
confirmAckChannel
と相互に排他的です。RabbitMQ の場合、コンテンツ型ヘッダーは外部アプリケーションによって設定できます。Spring Cloud Stream は、ヘッダーをネイティブにサポートしない Kafka(0.11 より前)などのトランスポートを含む、あらゆる型のトランスポートに使用される拡張内部プロトコルの一部としてサポートします。