Spring Boot 2: what they do not write in release notes

Day 1 /  / Track 2  /  RU

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.


Download presentation
Vladimir Plizga
СFT

Starting with school years Vladimir was enthusiastic about programming and since then has managed to code everything: from Soviet programmable calculators to modern SCADA systems in production. For the last several years he has been involved into backend development of Internet banking and other follow-up services at CFT (Center of Financial Technologies), where he actively stands for microservices and other popular things. Constantly bothers with ideas about optimization of difficult development/server software testing tasks, nurtures solutions for them while jogging or swimming and then puts them into life, experimenting shamelessly on his colleagues.

Speaker's previous talks