Spring Boot 2: чего не пишут в release notes

Во время доклада

Аннотация

Обновляя у себя какой-либо фреймворк, ты, конечно, всегда внимательно читаешь его release notes и migration guide😉 Но даже если это правда, тебя может поджидать множество сюрпризов, особенно если это мажорное обновление такого базового фреймворка, как Spring Boot. Помимо себя, он привносит обновления для своего BOM, а это ≈150 транзитивных зависимостей на все случаи жизни — такой upgrade не может пройти без накладок…

В этом докладе («грабледайджесте») я расскажу о своем опыте перевода микросервисного приложения на Spring Boot 2, проведу по многим собранным в ходе этого граблям и покажу для каждого случая решение или обходной путь. В частности, я расскажу:

  • как поддержка реактивного стека ломает обратную совместимость на уровне исходного кода;
  • почему переписанный с нуля Gradle-плагин может портить сборку составного - проекта и содержимое выходного JAR;
  • как новые правила relax binding параметров могут помешать запуску приложения;
  • как сломать старт микросервиса, ненароком поссорив мониторинг с пулом коннектов;
  • причем тут движок Micrometer, если отвалились задания по расписанию;
  • как замешан новый режим проксирования в исчезновении некоторых MBean из JMX;
  • как рефакторинг настроек WebMVC может своротить определение Content-Type при отдаче файлов;
  • какие новшества Mockito не дают тестам скомпилироваться и проваливают надежно проходившие тесты;
  • а также о ряде других мелких, но неприятных «спецэффектов».

Доклад ориентирован на разработчиков, планирующих или уже внедряющих Spring Boot 2 поверх старой версии или с нуля.

Дата
19.10.2018 16:00 — 17:00
Место
Санкт-Петербург, Экспофорум
Петербургское шоссе, 64/1, Россия
Владимир Плизга
Владимир Плизга
Программный инженер

Любимая технология: здравый смысл