1.1 以降の 1.2 への変更
RabbitMQ バージョン
Spring AMQP はデフォルトで RabbitMQ 3.1.x を使用するようになりました (ただし、以前のバージョンとの互換性は保持されます)。RabbitMQ 3.1.x でサポートされなくなった機能 (連携交換と RabbitTemplate
の immediate
プロパティ) に対して、特定の非推奨が追加されました。
Rabbit 管理者
RabbitAdmin
は、宣言が失敗したときに、交換、キュー、バインドの宣言を続行できるようにするオプションを提供するようになりました。以前は、失敗するとすべての宣言が停止していました。ignore-declaration-exceptions
を設定すると、そのような例外は (WARN
レベルで) ログに記録されますが、その後の宣言は続行されます。これが役立つ可能性がある例は、通常は他の宣言の進行を停止するわずかに異なる ttl
設定が原因で、キュー宣言が失敗した場合です。
RabbitAdmin
は、getQueueProperties()
と呼ばれる追加のメソッドを提供するようになりました。これを使用して、ブローカーにキューが存在するかどうかを判別できます (存在しないキューに対して null
を返します)。さらに、キュー内の現在のメッセージ数と現在のコンシューマー数を返します。
Rabbit テンプレート
以前は、固定応答キューで …sendAndReceive()
メソッドが使用された場合、2 つのカスタムヘッダーが相関データ用に使用され、応答キュー情報を保持および復元していました。このリリースでは、代わりに使用するカスタムプロパティを指定できますが、標準のメッセージプロパティ (correlationId
) がデフォルトで使用されます。さらに、ネストされた replyTo
情報は、カスタムヘッダーを使用する代わりに、テンプレート内で内部的に保持されるようになりました。
immediate
プロパティは非推奨です。RabbitMQ 3.0.x 以上を使用する場合は、このプロパティを設定しないでください。
キューおよびその他のアイテムの自動宣言
以前は、キュー、エクスチェンジ、バインディングを宣言するときに、宣言に使用された接続ファクトリを定義できませんでした。各 RabbitAdmin
は、その接続を使用してすべてのコンポーネントを宣言しました。
このリリース以降、宣言を特定の RabbitAdmin
インスタンスに制限できるようになりました。条件宣言を参照してください。
AMQP リモーティング
RPC 呼び出しのトランスポートとして AMQP を使用して、Spring リモート処理技術を使用するための機能が提供されるようになりました。詳細については、[ リモート ] を参照してください。