63.8. 交換、キュー、バインディングを自動宣言する
RabbitMQ からメッセージを送受信するには、まず交換、キュー、バインディングを設定する必要があります。
開発モードでは、Camel はこれを自動的に実行できます。これを有効にするには、SpringRabbitMQComponent で autoDeclare=true を設定します。
次に、Spring RabbitMQ は要素を自動的に宣言し、交換キー、キューキー、ルーティングキー間のバインディングを設定します。
要素は、複数値の args オプションを使用して設定できます。
たとえば、キューを永続的および排他的として指定するには、エンドポイント URI を arg.queue.durable=true&arg.queue.exclusive=true で設定できます。
エクスチェンジ
| オプション | タイプ | 説明 | デフォルト |
|---|---|---|---|
| autoDelete | boolean | 使用されなくなった交換をサーバーが削除する必要がある場合 (すべてのバインディングが削除された場合)、True。 | false |
| durable | boolean | 永続的な交換はサーバーの再起動後も存続します。 | true |
追加の x- 引数を設定することもできます。詳細は、RabbitMQ ドキュメントを参照してください。
Queues
| オプション | タイプ | 説明 | デフォルト |
|---|---|---|---|
| autoDelete | boolean | 使用されなくなった交換をサーバーが削除する必要がある場合 (すべてのバインディングが削除された場合)、True。 | false |
| durable | boolean | 耐久性のあるキューはサーバーの再起動後も存続します。 | false |
| exclusive | boolean | キューが排他的かどうか | false |
| x-dead-letter-exchange | String | デッドレターエクスチェンジの名前。何も設定されていない場合は、コンポーネントの設定値が使用されます。 | |
| x-dead-letter-routing-key | String | デッドレターエクスチェンジのルーティングキー。何も設定されていない場合は、コンポーネントの設定値が使用されます。 |
また、x-message-ttl を使用したメッセージの存続時間など、追加の x- 引数やその他多くの引数を設定することもできます。詳細は、RabbitMQ ドキュメントを参照してください。