Spring Boot expands cloud native tech support

Spring Boot 2.3.0.M1 has landed, giving those looking for help when building Java enterprise apps some additional support for their containerisation journey, and improving traceability.

Devs can now make use of Buildpacks, which is a sandbox project of the Cloud Native Computing Foundation, to build Docker images with Spring Boot. The Maven and Gradle plugins have also been fitted with features to build jar files whose contents are separated into layers. Those “layered jars” are meant to help in building more efficient Docker images, allowing unchanged layers to be reused.

In the new release, the Spring Boot team aligned the behaviour of its /actuator/configprops endpoint with that of the environment, letting it provide end-to-end-information about its properties. Other minor improvements include newly set defaults in the JPA support for better testing, and repeatable output from spring-boot-autoconfigure-processor, which is meant to let it work better with Gradle’s build cache.

Spring Boot now uses Cassandra 4.3+ by default, which comes without the ClusterBuilderCustomizer. Users relying on that element will therefore need to switch to DriverConfigLoaderBuilerCustomizer or CqlSessionBuilderCustomizer to customise clusters. 

Thanks to updated dependencies, devs using Gradle as their build tool will need to have version 5.6 or higher installed when looking into the upgrade process. Those using Jetty as an embedded container will need to make sure the tool is on version 9.4.22 or higher.

The release coincides with the publication of Spring Integration 5.3M1, which amongst other things adds native support for the ReactiveMessageHandler. It also includes an IntegrationPattern abstraction “to indicate which enterprise integration pattern and category a Spring Integration component belongs to”, as well as a Reactive Channel Adapter implementations for MongoDB.