Spring Boot 2: what they do not write in release notes
This talk is a "pitfalls digest", a collection of notes about which pitfalls you may encounter in the process of updating the Spring Boot framework to version 2.* and how to fix or bypass them.
When updating a framework, you, of course, always read carefully its release notes and migration guide;) But even if you actually do it, lots of surprises may await you, especially if it’s a major update of such a basic framework as Spring Boot. This framework updates not only itself, but also its BOM, which means ~150 transitive dependencies of all kinds — such an update just cannot go smoothly.
In this "pitfalls digest" talk Vladimir will tell about his experience of porting a microservice app to Spring Boot 2, show all the pitfalls he had encountered and give a solution or a workaround for each of them. For example, he will tell:
-
how reactive stack support breaks backward compatibility at the source code level;
-
why a Gradle plug-in, rewritten from a scratch, can damage building of a complex project and contents of an output JAR;
-
how new rules of the parameters relax binding can interfere with app launching;
-
how to break start of a microservice by accidentally causing a quarrel between monitoring and connection pool;
-
what the Micrometer engine has to do with the scheduled tasks not executing;
-
how the new proxying mode is involved in disappearances of some MBeans from JMX;
-
how WebMVC settings refactoring can disturb the definition of Content-Type in the process of file transferring;
-
what Mockito improvements don’t allow tests to be compiled and fail the tests that have been running smoothly;
-
and other small, but annoying "special effects".
This talk will be useful for developers who are planning or already implementing Spring Boot 2 over the old version or from scratch.