RabbitMQ プロデューサーのプロパティ
次のプロパティは Rabbit プロデューサーのみが使用でき、接頭辞 spring.cloud.stream.rabbit.bindings.<channelName>.producer. を付ける必要があります。
ただし、同じプロパティのセットをほとんどのバインディングに適用する必要がある場合は、繰り返しを避けるために、Spring Cloud Stream はすべてのチャネルの値を spring.cloud.stream.rabbit.default.<property>=<value> の形式で設定することをサポートしています。
また、特定のプロパティをバインドすると、デフォルトで同等のプロパティが上書きされることに注意してください。
- altermateExchange.binding.queue
交換がまだ存在せず、
nameが提供されている場合は、このキューを代替交換にバインドします。引数のない単純な永続キューがプロビジョニングされます。より高度な構成が必要な場合は、キューを自分で構成してバインドする必要があります。デフォルト:
nullalternateExchange.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 をデッドレター交換にバインドするときに適用される引数。
headersdeadLetterExchangeTypeとともに使用して、一致するヘッダーを指定します。たとえば、…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
プロデューサーの型。
クラシックキューおよびクォーラムキュー用の
AMQPAMQP クライアントSTREAM_SYNCRabbitMQ Streams プラグインクライアント、確認を受信するまでブロックSTREAM_ASYNCRabbitMQ ストリームプラグインクライアント、ブロックしないデフォルト: "".
- queueBindingArguments
キューを取引所にバインドするときに適用される引数。
headersexchangeTypeとともに使用して、一致するヘッダーを指定します。たとえば、…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 より前)などのトランスポートを含む、あらゆる型のトランスポートに使用される拡張内部プロトコルの一部としてサポートします。