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'、batchBufferLimitbatchTimeout。詳細については、バッチ処理を参照してください。バッチメッセージの受信も参照してください。

デフォルト: false.

バッチサイズ

バッチ処理が有効になっているときにバッファリングするメッセージの数。

デフォルト: 100.

batchBufferLimit

バッチ処理が有効になっている場合の最大バッファサイズ。

デフォルト: 10000.

batchTimeout

バッチ処理が有効になっている場合のバッチタイムアウト。

デフォルト: 5000.

bindingRoutingKey

キューを交換にバインドするためのルーティングキー(bindQueue が true の場合)。複数のキーにすることができます。bindingRoutingKeyDelimiter を参照してください。パーティション化された宛先の場合、-n が各キーに追加されます。requiredGroups が提供されている場合にのみ適用され、それらのグループにのみ適用されます。

デフォルト: #.

bindingRoutingKeyDelimiter

これが null でない場合、"bindingRoutingKey" はこの値で区切られたキーのリストと見なされます。多くの場合、コンマが使用されます。requiredGroups が提供されている場合にのみ適用され、それらのグループにのみ適用されます。

デフォルト: null.

bindQueue

キューを宣言して宛先交換にバインドするかどうか。独自のインフラストラクチャをセットアップし、以前にキューを作成してバインドしたことがある場合は、false に設定します。requiredGroups が提供されている場合にのみ適用され、それらのグループにのみ適用されます。

デフォルト: true.

圧縮

送信時にデータを圧縮する必要があるかどうか。

デフォルト: 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

宣言 Dlx

宛先のデッドレター交換を宣言するかどうか。autoBindDlq が true の場合にのみ関連します。DLX が事前構成されている場合は、false に設定します。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: true.

宣言交換

宛先の交換を宣言するかどうか。

デフォルト: true.

delayExpression

メッセージに適用する遅延を評価するための SpEL 式(x-delay ヘッダー)。交換が遅延メッセージ交換でない場合は効果がありません。

デフォルト: x-delay ヘッダーは設定されていません。

delaydExchange

交換を Delayed Message Exchange として宣言するかどうか。ブローカーに遅延メッセージ交換プラグインが必要です。x-delayed-type 引数は exchangeType に設定されます。

デフォルト: false.

deliveryMode

配信モード。

デフォルト: PERSISTENT.

dlqBindingArguments

dlq をデッドレター交換にバインドするときに適用される引数。headersdeadLetterExchangeType とともに使用して、一致するヘッダーを指定します。たとえば、…​dlqBindingArguments.x-match=any…​dlqBindingArguments.someHeader=someValuerequiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: 空

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

交換型: パーティション化されていない宛先の場合は directfanoutheaders または topic、パーティション化された宛先の場合は directheaders または topic

デフォルト: topic.

有効期限が切れます

未使用のキューが削除されるまでの時間(ミリ秒単位)。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: no expiration

headerPatterns

送信メッセージにマップされるヘッダーのパターン。

デフォルト: ['*'] (すべてのヘッダー)。

怠惰

x-queue-mode=lazy 引数を使用してキューを宣言します。“怠惰なキュー” (英語) を参照してください。ポリシーを使用すると、キューを削除せずに設定を変更できるため、この設定の代わりにポリシーを使用することを検討してください。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: false.

maxLength

キュー内のメッセージの最大数。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: no limit

maxLengthBytes

すべてのメッセージからのキュー内の合計バイト数の最大数。requiredGroups が提供されている場合にのみ適用され、それらのグループにのみ適用されます。

デフォルト: no limit

maxPriority

キュー内のメッセージの最大優先度(0-255)。requiredGroups が提供されている場合にのみ適用され、それらのグループにのみ適用されます。

デフォルト: none

プレフィックス

destination 交換の名前に追加されるプレフィックス。

デフォルト: "".

プロデューサー型

プロデューサーの型。

  • クラシックキューおよびクォーラムキュー用の AMQP AMQP クライアント

  • STREAM_SYNC RabbitMQ Streams プラグインクライアント、確認を受信するまでブロック

  • STREAM_ASYNC RabbitMQ ストリームプラグインクライアント、ブロックしない

    デフォルト: "".

queueBindingArguments

キューを取引所にバインドするときに適用される引数。headersexchangeType とともに使用して、一致するヘッダーを指定します。たとえば、…​queueBindingArguments.x-match=any…​queueBindingArguments.someHeader=someValuerequiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: 空

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>

ルーティングキー

メッセージの発行時に使用する固定ルーティングキーを定義する文字列。

デフォルト: routingKeyExpression を参照

singleActiveConsumer

true に設定すると、x-single-active-consumer キュープロパティが true に設定されます。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: false

取引

トランザクションチャネルを使用するかどうか。

デフォルト: false.

ttl

宣言されたときにキューに適用するために存続するデフォルトの時間(ミリ秒単位)。requiredGroups が提供されている場合にのみ適用され、その後、それらのグループにのみ適用されます。

デフォルト: no limit

useConfirmHeader

パブリッシャーが確認を参照してください。confirmAckChannel と相互に排他的です。

RabbitMQ の場合、コンテンツ型ヘッダーは外部アプリケーションによって設定できます。Spring Cloud Stream は、ヘッダーをネイティブにサポートしない Kafka(0.11 より前)などのトランスポートを含む、あらゆる型のトランスポートに使用される拡張内部プロトコルの一部としてサポートします。