Реализация Live Reload для Spring Boot - another-live-refresh
Проектом Spring Developer Tools уже реализована поддержка технологии livereload.com, но есть пару проблем.
Ситуация: мы любим новые технологии и разрабатываем микросервисный проект. У нас есть клиентский интерфейс и административный интерфейс, они оба Spring Boot приложения и они оба запущены. Мы установили расширение livereload.com и оно успешно подключилось к “livereload серверу”,но к какому?
На данный момент LiverReload Server из Spring Developer Tools биндит стандартный порт 35729 при запуске.Когда запускается второе приложение, порт уже занят и запуск сервера невозможен. На практике мы получаем постоянную путаницу, куда подключено расширение, что создает эфект “нерабочего livereload”.
Решением этой проблемы стала библиотека another-live-refresh, оформленная в виде Spring Boot Starter.
Преимущества:
- легкая и понятная интеграция: в develop профиле включил, в production выключил, других настроек не требует.
- самостоятельно встраивает в html страницы необходимый js код
- не требует расширений для браузера
- работа изолирована внутри каждого приложения
Недостатки:
- В версии 0.1 не работает на страницах ошибок, работа над этим ведется.
Использование
Подключение зависимости
Все традиционно:
Отключение в Production окружении
Так же стоит упоминуть о необходимости отключения кэширования шаблонизаторов в окружении разработки, если это еще не сделано.