Size: a a a

2020 March 10

BV

Boris Vanin in Kotlin JVM
Viacheslav Blinov
Бут будет стартовать тем больше чем больше джаров будет в класспути из-за поиска автоконфигураций. Не знаю как сейчас а раньше даже без котлина хеллоу-ворлд секунд 6 без хибера если, с хибером сразу ~20 на ссд и i7
Автоконфигурации же не ищут, а берут из спецфайлика
источник

VB

Viacheslav Blinov in Kotlin JVM
Boris Vanin
Автоконфигурации же не ищут, а берут из спецфайлика
Ага, а файлик может лежать в любом из джаров класспути, значит надо потрошить каждый джар на предмет этого файла
источник

BV

Boris Vanin in Kotlin JVM
Сканирование кстати почти всегда можно или отключить или серьезно сократить
источник

BV

Boris Vanin in Kotlin JVM
Viacheslav Blinov
Ага, а файлик может лежать в любом из джаров класспути, значит надо потрошить каждый джар на предмет этого файла
Класслоадер с этим справляется великолепно
источник

BV

Boris Vanin in Kotlin JVM
Например, хорошая привычка всегда определять пакет для сканирования или определять бины в конфигурации
источник

VB

Viacheslav Blinov in Kotlin JVM
Boris Vanin
Например, хорошая привычка всегда определять пакет для сканирования или определять бины в конфигурации
Для автоконфигураций так нельзя -- они могут быть в любом пакете. Тот же Spring data
источник

VB

Viacheslav Blinov in Kotlin JVM
Не путайте со сканом бинов, это разные механизмы
источник

BV

Boris Vanin in Kotlin JVM
Viacheslav Blinov
Для автоконфигураций так нельзя -- они могут быть в любом пакете. Тот же Spring data
Ещё раз, автоконфигурации регистрируются в специальном файле, который лежит всегда в одном месте
источник

BV

Boris Vanin in Kotlin JVM
Их не надо искать
источник

AE

Alexandr Emelyanov in Kotlin JVM
Viacheslav Blinov
Для автоконфигураций так нельзя -- они могут быть в любом пакете. Тот же Spring data
нет, там в META-INF складывается файл spring.factories, внутри описываются автоконфигурации
источник

AE

Alexandr Emelyanov in Kotlin JVM
например
источник

VB

Viacheslav Blinov in Kotlin JVM
Alexandr Emelyanov
нет, там в META-INF складывается файл spring.factories, внутри описываются автоконфигурации
А он в свою очередь складывается в jar-файл библиотеки... В каждом jar один и тот же путь, и файл но с разным содержимым, может быть, а может и не быть)) искать их разумеется надо, т.к. это влияет на загрузку контекста Спринга)
источник

AE

Alexandr Emelyanov in Kotlin JVM
Viacheslav Blinov
А он в свою очередь складывается в jar-файл библиотеки... В каждом jar один и тот же путь, и файл но с разным содержимым, может быть, а может и не быть)) искать их разумеется надо, т.к. это влияет на загрузку контекста Спринга)
естественно. но это скан класпаса
источник

AE

Alexandr Emelyanov in Kotlin JVM
*не скан
источник

VB

Viacheslav Blinov in Kotlin JVM
Это не скан классов, но все jar-файлы из classpath все равно обойти прийдется
источник

VP

Vladimir Petrakovich in Kotlin JVM
Viacheslav Blinov
Ага, а файлик может лежать в любом из джаров класспути, значит надо потрошить каждый джар на предмет этого файла
Так любой класс или ресурс загружается таким образом. Что, джава тормозит?
Чтобы найти конкретный класс/ресурс в jar, его не надо сканировать весь.
источник

AN

Alexander Nozik in Kotlin JVM
Viacheslav Blinov
Это не скан классов, но все jar-файлы из classpath все равно обойти прийдется
Сервис-лоадер всегда инфы обходит. Чтобы это было долго, надо миллион джаров
источник

BV

Boris Vanin in Kotlin JVM
Viacheslav Blinov
Это не скан классов, но все jar-файлы из classpath все равно обойти прийдется
Класслоадер делает это на каждый чих
источник

BV

Boris Vanin in Kotlin JVM
Конечно кеширует, но все равно для любого класса это делает
источник

BV

Boris Vanin in Kotlin JVM
В пивотале там не дураки сидят
источник