Spring Boot 4.2.0-M1の新機能まとめ:AMQP 1.0とBuildpacksキャッシュを解説
Spring Boot 4.2.0-M1 が公開されました。
Spring公式ブログによると、Spring Boot 4.2.0-M1 は 2026年8月20日にリリースされ、113件の改善・ドキュメント更新・依存関係アップグレード・バグ修正が含まれています。特に注目されている新機能は、AMQP 1.0サポートと、BuildpacksのImage-Based Build Cache対応です。
ただし、M1 は Milestone 版です。
正式リリース前のプレビュー版なので、すぐに本番導入するというより、今後のSpring Boot 4.2で何が入りそうかを先取りする位置づけで見るのがよさそうです。Spring Boot 4.2のドキュメントでも、4.2.0-M1はPreviewとして扱われています。
まず結論
Spring Boot 4.2.0-M1で押さえておきたいポイントは、主にこの2つです。
1. AMQP 1.0サポートが追加された
2. Buildpacksのビルドキャッシュをコンテナレジストリに置けるようになった
AMQPを使っていない人にとっては、1つ目は少しピンと来ないかもしれません。
一方、bootBuildImage を使ってDockerイメージを作っている人や、CI/CDでSpring Bootアプリのコンテナイメージをビルドしている人には、2つ目の Image-Based Build Cache が地味に嬉しい変更です。
AMQP 1.0サポートで何が変わる?
AMQPは、メッセージングで使われるプロトコルです。
Spring Boot / Spring AMQPの文脈では、これまでRabbitMQを使ったメッセージ送受信で触れることが多かったと思います。
Spring Boot 4.2.0-M1では、AMQP 1.0のサポートが追加されました。リリースノートでは、AMQP 1.0対応として、Qpid Protonを使った汎用AMQP 1.0ブローカー向けのサポートと、RabbitMQ向けに調整されたAMQP 1.0サポートが説明されています。
ざっくり言うと、これまでのRabbitMQ向けAMQP 0.9系だけでなく、AMQP 1.0を使ったメッセージングもSpring Bootから扱いやすくなるということです。
Spring AMQP側でも、AMQP 1.0プロトコルとやり取りするための spring-amqp-client モジュールが紹介されています。このモジュールはQpid ProtonJ2 Client Libraryをベースにしており、AMQP 1.0に対応した相手と通信できると説明されています。
イメージとしては、次のような使い分けです。
RabbitMQの従来構成を使い続けたい:
AMQP 0.9系 / RabbitMQ向けサポートを使う
AMQP 1.0対応ブローカーと連携したい:
AMQP 1.0サポートを検討する
注意点として、Spring Boot 4.2.0-M1ではAMQP 0.9サポートのスターター名にも変更があります。
リリースノートでは、AMQP 0.9を使い続ける場合は spring-boot-starter-amqp から spring-boot-starter-rabbitmq へ移行し、AMQP 1.0を使う場合は spring-boot-starter-amqp-rabbitmq へ移行すると説明されています。
// RabbitMQの従来構成を使う場合
implementation 'org.springframework.boot:spring-boot-starter-rabbitmq'
// AMQP 1.0を使う場合
implementation 'org.springframework.boot:spring-boot-starter-amqp-rabbitmq'
このあたりは正式版までに変更される可能性もあるため、実際に導入するときは必ず利用バージョンのリリースノートを確認しましょう。
BuildpacksのImage-Based Build Cacheとは?
もう1つの注目ポイントが、Buildpacksの Image-Based Build Cache です。
Spring Bootでは、Dockerfileを書かなくても、Gradleの bootBuildImage でOCIイメージを作れます。
./gradlew bootBuildImage
これ自体は以前から便利でした。
ただ、CI環境では毎回クリーンな環境でビルドされることが多く、ローカルDockerボリュームにあるキャッシュを活かしづらい場面があります。
Spring Boot 4.2.0-M1では、Cloud Native BuildpacksでOCIイメージを作るときの buildCache に、イメージベースのキャッシュを使えるようになりました。これにより、キャッシュレイヤーをローカルのDockerボリュームだけでなく、コンテナレジストリへpushし、別の環境でpullして再利用できるようになります。
イメージとしてはこうです。
従来:
CI環境ごとにローカルDockerボリュームへキャッシュ
Spring Boot 4.2.0-M1:
buildCacheをコンテナレジストリに保存・再利用できる
Gradleでは、例えば次のように設定できます。
tasks.named("bootBuildImage") {
imageName = "ghcr.io/example/my-app:${project.version}"
buildCache {
image {
name = "ghcr.io/example/my-app:build-cache"
}
}
}
Spring Boot Gradle Pluginのドキュメントでも、buildCache をイメージとして保存する例が紹介されています。これにより、ビルドキャッシュをレジストリ経由でホスト間共有できるようになります。
これは、GitHub Actions、GitLab CI、JenkinsなどでSpring Bootアプリのコンテナイメージを作っている場合に効いてきそうです。
ただし、リリースノートでは、今回イメージベースにできるのは buildCache であり、buildWorkspace と launchCache は引き続きローカルキャッシュのみ対応と説明されています。
どんな人に関係ある?
今回のSpring Boot 4.2.0-M1は、すべてのSpring Boot開発者にすぐ影響する内容ではありません。
特に関係がありそうなのは、次のような人です。
・RabbitMQやメッセージング基盤を使っている人
・AMQP 1.0対応ブローカーとの連携を検討している人
・Spring Bootアプリをコンテナ化している人
・bootBuildImageをCI/CDで使っている人
・DockerfileよりBuildpacks中心で運用している人
・Spring Boot 4.2の変更点を早めに追いたい人
逆に、普通のWeb API開発だけをしている場合は、すぐに対応が必要な変更ではありません。
ただし、Spring Boot 4.2の正式版が出る前に、依存関係やスターター名の変更を把握しておくと、移行時に慌てにくくなります。
本番導入は急がなくていい
Spring Boot 4.2.0-M1はMilestone版です。
そのため、現時点では本番システムへ急いで導入するより、次のような使い方がよいです。
・検証用プロジェクトで試す
・AMQPまわりのスターター名変更を確認する
・bootBuildImageのキャッシュ設定を試す
・CI/CDでビルド時間が変わるか検証する
・正式版に向けて移行メモを残す
特に、AMQPまわりはスターター名や構成の変更が絡むため、既存プロジェクトでいきなり上げるより、まずは小さなサンプルで確認するのが安全です。
まとめ
Spring Boot 4.2.0-M1では、AMQP 1.0サポートとBuildpacksのImage-Based Build Cache対応が注目ポイントです。
ポイントをまとめると、次の通りです。
・Spring Boot 4.2.0-M1は2026年8月20日に公開されたPreview版
・113件の改善、ドキュメント更新、依存関係更新、バグ修正を含む
・AMQP 1.0サポートが追加された
・AMQP 0.9系を使い続ける場合はスターター名の変更に注意
・bootBuildImageのbuildCacheをコンテナレジストリ経由で共有できるようになった
・CI/CDでBuildpacksを使っている場合、ビルド時間短縮につながる可能性がある
・現時点では本番導入より検証用途として見るのが安全
個人的には、今回の変更で特に実務インパクトがありそうなのは BuildpacksのImage-Based Build Cache です。
Spring BootアプリをCI/CDでコンテナ化している場合、キャッシュをレジストリに置けるようになることで、ビルド環境が変わってもキャッシュを再利用しやすくなります。
Spring Boot 4.2の正式版に向けて、今のうちに bootBuildImage の使い方やAMQPまわりの依存関係を見直しておくとよさそうです。
是非フォローしてください
最新の情報をお伝えします
