Strasti se Spring Native

publikováno: 28.12.2021

Pár postřehů:

  • Je dobrý nápad mít Spring Native konfiguraci v samostatné @Configuration třídě, dostal jsem se do divné situace když jsem kombinoval @TypeHint a @EnableCaching v jedné třídě
  • Když nevidíte při startu stacktrace, ale nic-neříkající info že máte něco špatně, pak spusťte aplikaci s --debug=true, pak ten stacktrace uvidíte
  • U veřejných webů používám SSR (Server-Side Rendering) přes Thymeleaf a to je v současnosti se Spring Native vcelku peklo. Základní věci fungují, ale cokoli pokročilejšího co většinou používá reflexi je problém ... takže se musí vyzkoušet jestli se všechny stránky vyrenderují správně :-/
  • Spring Retry v současnosti nefunguje, nahradil jsem ho za Resilience4J, což jsem stejně chtěl již delší dobu udělat
  • Spring AOT generuje reflect-config.json a další .json soubory, které používá GraalVM do adresáře target/generated-sources/spring-aot/src/main/resources/META-INF/native-image/org/springframework/aot/spring-aot
  • spring-boot-maven-plugin dokáže nejenom vygenerovat výsledný Docker image, ale také ho vypublikovat do Docker registry
  • Spring Native aplikace co dřív běžela na GraalVM CE žrala víc CPU než novější verze, která běží na NIK (výchozí runtime od Spring Native 0.11.0), ale k tomu nemám dostatek dat, jenom pozorování ze dvou serverů, které může být mylné, na to se musím ještě víc zaměřit.
  • Asi nejlepší způsob jak nastavit timezone v Docker image je: docker run --env "TZ=Europe/Prague" IMAGE_NAME

Další postřehy budu průběžně přidávat.

Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

29.12.2021: OpenJ9 (IBM Semeru) 17

28.12.2021: Strasti se Spring Native

21.12.2021: Spring Native 0.11.0 & Liberica Native Image Kit (NIK)