Wpis z mikrobloga

@mateuszd: w springu można sobie ograniczyć context scan https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-scanning-index

Ale nawet bez tego mikroserwisy w springu wstają szybko, poniżej 10 sek. Problemem jest raczej to, że spring sam w sobie jest duży i przydałoby mu się pociachanie go na mniejsze, mniej zależne od siebie fragmenty.
Np. wykorzystanie actuatora i database health check zaciąga cały pakiet spring-jdbc, wraz z jdbctemplate i masą rzeczy, których niekoniecznie się używa.
@globalbus: Jasne, że można to ograniczyć. Można też stosować inne różne sztuczki, żeby poprawić startup time, ale to nadal stary dobry spring, który mocna korzysta z refleksji. Gdy aplikacja będzie rosła to czas odpalania będzie też rósł. Kiedyś rozwiązania zastosowane w Spingu były dobre, ale teraz są chyba lepsze rozwiązania, takie jak np. w Micronaucie.

Poza tym przez to, że spring bazuje na refleksji nie bardzo można używać go z GraalVm.
@mateuszd: większość popularnych frameworków korzysta z refleksji. Hibernate, Jackson i wiele innych, bez których ciężko sobie wyobrażać normalną pracę. Jakąś tam podstawową funkcjonalność introspekcji i wywoływaniu method handlerów trzeba mieć.
Większym problemem dla graalvm są jednak frameworki bytecode generation. Cglib, javaassist, bytebuddy itp, które ze względów oczywistych nie mają prawa bytu.