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

День 2 /  / Зал 1  /  RU /

Комментарий Программного комитета:

Очень актуально и может спасти слушателям дни времени и пряди седых волос.

Обновляя у себя какой-либо фреймворк, ты, конечно, всегда внимательно читаешь его 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 поверх старой версии или с нуля.


Владимир Плизга
ЦФТ

Владимир со школьной скамьи болеет программированием и с тех пор успел покодировать на многом: от советских программируемых калькуляторов до промышленных SCADA-систем на заводах. Но последние несколько лет погружен в разработку бэкенда интернет-банков и сопутствующих сервисов в ЦФТ, где активно топит за микросервисы и прочие модные штуки. Попутно постоянно заморачивается идеями оптимизации сложных задач разработки/тестирования серверного ПО, вынашивает для них решения на пробежках и в бассейне, а затем воплощает их в жизнь, бессовестно испытывая на собственных коллегах.

Прошлые выступления спикера