Spring & Java (Rus)
43 subscribers
64 photos
3 videos
11 files
54 links
Spring Framework & Java
Download Telegram
Channel created
Spring-потрошитель: жизненный цикл Spring Framework

Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.

Но насколько хорошо вы знакомы с жизненным циклом фреймворка? Наверняка вы сталкивались с проблемами поднятия контекста и освобождением ресурсов при его остановке, когда проект разрастается. Сегодня я попытаюсь наглядно показать вам это.

Я решил изучить эту тему так как официальная документация достаточно разбросано отвечает на этот вопрос. В итоге я разработал небольшой тестовый стенд. Для тестирования я использовал специальные интерфейсы интеграции и аннотации которые позволяют расширить контейнер Spring-а, которые позволяют внедрить кастомную логику в его жизненный цикл. Я выбрал эти инструменты, так как там обычно и возникают проблемы. Я считаю, что это необходимо знать, чтобы избежать проблем на стадии разработки, отладки и тестирования.

К слову в этой статье не обсуждается почему жизненный цикл такой, какой он есть. Здесь я хочу вам показать результаты моих исследований и выводы. Также здесь не рассматриваются нюансы жизненного цикла иерархических контекстов.

Далее - https://habr.com/ru/articles/720794/
Зачем писать тесты на Spring Repository?
(Тут именно не как их писать, а рассуждение на тему "Зачем?")

https://youtu.be/M1mSrdOzMX8
Spring Framework Runtime
Эко-система Spring
В соц. сетях:

- VK - https://vk.com/java_spring
Apache Tika: Самое точное определение mime-типа файл, даже если расширение изменено.

Столкнулся с проблемой когда необходимо было по куче файлов с расширением .bin определить тип каждого и раскидать их по реальным типам по соответствующим папкам и восстановить расширение.
В моём случае расширение bin это результат работы некого приложения, которое таким образом скрывает реальное имя файла и его расширение.
В общем была папка с файлами типа {GUID}.bin. Я знал, что это там в основном файлы с типами PDF | DOCX | XLSX и картинки.

Далее - https://antowka.ru/apache-tika/
Как программно сделать вызов метода через JMX.

В этой статье я не буду рассказывать как создать MBean, чтобы вызывать его методы через JMX. Это больше заметка для себя и других, кому может понадобиться из приложения вызвать метод удалённо в другом Java-приложении.

Далее - https://antowka.ru/jmx-invoke-operation-programmatically/
Virtualbox: перенос (экспорт) VM на другой хост

Не Docker-ом единым 🙂 Многие из нас сталкиваются с необходимостью
переноса виртуальной машины под Virtualbox на другой хост (комп, сервер…).
Пишу краткую инструкцию, чтоб всегда была под рукой.


https://antowka.ru/virtualbox-export-ova-import/
GlowRoot — как искать «бутылочное горлышко» в Java приложении.

Приложение для поиска в исследуемом приложении так называемых "бутылочных горлышек" т.е. тех мест, которые замедляют работу приложения и\или приводят к повышенному потреблению ресурсов. И всё это может работать в режиме non-stop с возможностью, просмотра исторических данных. Ну просто очень полезная штука - всем рекомендую!

Вот пару статей про этот инструмент
- https://antowka.ru/glowroot-optimization-java-app/
- https://habr.com/ru/companies/exness/articles/555712/

#java #glowroot #profiler