116.5. エンドポイントオプション
Spring RabbitMQ エンドポイントは、URI 構文を使用して設定されます。
spring-rabbitmq:exchangeName
spring-rabbitmq:exchangeName
パスとクエリーのパラメーターは次のとおりです。
116.5.1. パスパラメーター(1 パラメーター) リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | デフォルト | タイプ |
|---|---|---|---|
| exchangeName (common) | Required 交換名によって、生成されたメッセージの送信先となる交換が決まります。コンシューマーの場合、エクスチェンジ名によって、キューがバインドされるエクスチェンジが決まります。注記: デフォルトの交換を使用する場合は、空の名前を使用せず、代わりにデフォルトを使用してください。 | String |
116.5.2. クエリーパラメーター(34 個のパラメーター) リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | デフォルト | タイプ |
|---|---|---|---|
| connectionFactory (common) | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | ConnectionFactory | |
| disableReplyTo (共通) | Camel がメッセージの ReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は ReplyTo ヘッダーで指定された宛先に返信を送り返しません。Camel にルートから消費させたいが、コード内の別のコンポーネントが応答メッセージを処理するため、Camel に自動的に応答メッセージを送り返したくない場合は、このオプションを使用できます。Camel を異なるメッセージブローカー間のプロキシーとして使用し、あるシステムから別のシステムにメッセージをルーティングする場合にも、このオプションを使用できます。 | false | boolean |
| routingKey (Common) | 使用するルーティングキーの値。デフォルトは空です。これはデフォルト (または任意の直接) 交換を使用する場合には役に立ちませんが、交換がたとえばヘッダー交換である場合には問題ありません。 | String | |
| testConnectionOnStartup (common) | 起動時に接続をテストするかどうかを指定します。これにより、Camel の起動時に、すべての JMS consumerが JMS ブローカーへの有効な接続を持つことが保証されます。接続を許可できない場合、Camel は起動時に例外を出力します。これにより、接続に失敗した状態で Camel が開始されなくなります。JMS producer もテストされています。 | false | boolean |
| acknowledgeMode (consumer) | メッセージ確認に関するコンテナーの動作を制御するフラグ。最も一般的な使用法は、コンテナーに確認応答を処理させることです (そのため、リスナーはチャネルやメッセージについて知る必要がありません)。リスナーが Channel.basicAck (long、boolean) を使用して確認応答自体を送信する場合は、AcknowledgeMode.MANUAL に設定します。手動 ACK はトランザクションチャネルまたは非トランザクションチャネルのいずれかと一貫していますが、単一のメッセージを受信する以外に同時にチャネル上で他の作業を行っていない場合、トランザクションはおそらく不要です。AcknowledgeMode.NONE に設定すると、ブローカーに確認応答を期待しないように指示され、すべてのメッセージが送信されるとすぐに確認応答されると想定されます (これは、ネイティブの Rabbit ブローカーの用語では自動確認です)。AcknowledgeMode.NONE の場合、チャネルはトランザクションにできません (そのため、そのフラグが誤って設定された場合、コンテナーは起動時に失敗します)。 列挙値:
| AcknowledgeMode | |
| asyncConsumer (consumer) | コンシューマーが Exchange を非同期的に処理するかどうか。有効にすると、コンシューマーはキューから次のメッセージを取得できますが、前のメッセージは (非同期ルーティングエンジンによって) 非同期に処理されます。これは、メッセージが 100% 厳密に順序どおりに処理されない可能性があることを意味します。無効になっている場合 (デフォルト)、コンシューマーが キューから次のメッセージを取得する前に Exchange が完全に処理されます。 | false | boolean |
| autoDeclare (consumer) | コンシューマーが開始時に Exchange、キュー、ルーティングキー間のバインディングを自動宣言するかどうかを指定します。 | true | boolean |
| autoStartup (consumer) | consumer コンテナーを自動起動するかどうかを指定します。 | true | boolean |
| deadLetterExchange (consumer) | デッドレターエクスチェンジの名前。 | String | |
| deadLetterExchangeType (consumer) | デッドレターエクスチェンジの種類。 列挙値:
| direct | String |
| deadLetterQueue (consumer) | 配信不能キューの名前。 | String | |
| deadLetterRoutingKey (consumer) | デッドレターエクスチェンジのルーティングキー。 | String | |
| exchangeType (consumer) | 交換のタイプ。 列挙値:
| direct | String |
| exclusive (consumer) | 排他的なコンシューマーの場合は true に設定します。 | false | boolean |
| maximumRetryAttempts (consumer) | Camel がメッセージの処理に失敗した場合に、Rabbitmq コンシューマーが同じメッセージを再試行する回数。 | 5 | int |
| noLocal (consumer) | ローカルではないコンシューマーの場合は true に設定します。 | false | boolean |
| queues (consumer) | メッセージの消費に使用するキュー。複数のキュー名はコンマで区切ることができます。何も設定されていない場合、Camel はコンシューマーのキュー名として一意の ID を生成します。 | String | |
| rejectAndDontRequeue (consumer) | Rabbitmq コンシューマーが再キューに入れずにメッセージを拒否する必要があるかどうか。これにより、ブローカーがそのように設定されている場合、失敗したメッセージを Dead Letter Exchange/Queue に送信できるようになります。 | true | boolean |
| retryDelay (consumer) | Camel が処理に失敗したメッセージを再配信するまでに Rabbitmq コンシューマーが待機する遅延 (ミリ秒)。 | 1000 | int |
| bridgeErrorHandler (consumer (上級)) | consumer の Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、consumer が受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
| concurrentConsumers (consumer (advanced)) | コンシューマーの数。 | Integer | |
| exceptionHandler (consumer (上級)) | consumer によるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、consumer は例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
| exchangePattern (consumer (上級)) | consumer がエクスチェンジを作成する際に交換パターンを設定します。 列挙値:
| ExchangePattern | |
| maxConcurrentConsumers (consumer (advanced)) | コンシューマーの最大数 (SMLC でのみ使用可能)。 | Integer | |
| messageListenerContainerType (consumer (advanced)) | MessageListenerContainer のタイプ。 列挙値:
| DMLC | String |
| prefetchCount (consumer (advanced)) | 単一のリクエストで送信するメッセージの数をブローカーに指示します。多くの場合、これはスループットを向上させるために非常に高く設定できます。 | Integer | |
| retry (consumer (advanced)) | 使用するカスタム再試行設定。これが設定されている場合は、再試行のための MaximumRetryAttempts などの他の設定は使用されません。 | RetryOperationsInterceptor | |
| replyTimeout (producer) | リプライメッセージ、返信メッセージ要求/応答メッセージングの実行時に応答メッセージを待機するときに使用されるタイムアウトをミリ秒単位で指定します。デフォルト値は 5 秒です。負の値は、無期限のタイムアウトを示します。 | 5000 | long |
| usePublisherConnection (producer) | パブリッシャーとコンシューマーには別の接続を使用します。 | false | boolean |
| lazyStartProducer (producer (上級)) | 最初のメッセージで producer をレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
| args (advanced) | RabbitMQ の各コンセプトを設定するための引数を指定します。各接頭辞は、以下の各要素に必要です。arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding.たとえば、メッセージ ttl 引数を使用してキューを宣言するには、args=arg.queue.x-message-ttl=60000 とします。 | Map | |
| messageConverter (advanced) | カスタム MessageConverter を使用して、org.springframework.amqp.core.Message との間のマッピング方法を制御できるようにします。 | MessageConverter | |
| messagePropertiesConverter (advanced) | カスタム MessagePropertiesConverter を使用して、org.springframework.amqp.core.MessageProperties との間のマッピング方法を制御できるようにします。 | MessagePropertiesConverter | |
| synchronous (advanced) | 同期処理を厳密に使用するかどうかを設定します。 | false | boolean |