Java-Framework: Spring Native 0.11 verringert Startup-Zeiten dank AOT-Engine
Version 0.11 bringt eine neue AOT-Engine sowie nativen Support für Spring Boot 2.6 mit. Das Spring-Team äußert sich zudem zur aktuellen Log4j-Sicherheitslücke.
(Bild: voyata/Shutterstock.com)
VMware hat Spring Native 0.11 veröffentlicht. Mit an Bord ist eine neue AOT-Engine (Ahead-of-Time), die in verschiedenen Bereichen Vorteile bieten soll – darunter verringerte Startup-Zeiten. Das Open-Source-Framework befindet sich weiterhin im Beta-Modus und soll dem Kompilieren von Spring-Anwendungen dienen, indem es den GraalVM-Compiler für native Images einsetzt.
Transformation und Geschwindigkeit
Die neue AOT-Engine in Spring Native 0.11 soll unter anderem eine Tiefenanalyse von Spring-Anwendungen zur Build-Zeit ermöglichen, um sie der für GraalVM nötigen Konfiguration entsprechend zu transformieren. Dadurch sollen weniger Bedingungen zur Laufzeit evaluiert und weniger Spring-Infrastruktur zur Laufzeit ausgeführt werden müssen. Die Transformation übernehmen Maven- und Gradle-Spring-AOT-Plug-ins, wie VMware grafisch darstellt:
(Bild:Â VMware)
Dank der neuen AOT-Engine sollen sich neben weiteren Vorteilen auch die Startup-Zeiten deutlich verringert haben. Das liegt darin begründet, dass sich die Verarbeitung teilweise von der Laufzeit zur Build-Zeit verschoben hat. Im Vergleich zum Vorgänger Spring Native 0.10 beträgt die Startup-Zeit zwischen 16 und 35 Prozent weniger. Am deutlichsten hat sich die Startup-Zeit bei webmcv-tomcat verringert – von 65 auf 42 Millisekunden:
(Bild:Â VMware)
Spring Native 0.11 ist fĂĽr den Einsatz mit GraalVM 21.3, Spring Boot 2.6 und Spring Cloud 2021.0 konzipiert.
Alle weiteren Informationen zu Spring Native 0.11 sind dem Spring-Blog sowie den Release Notes auf GitHub zu entnehmen.
Spring Boot und die Log4j-Zero-Day-LĂĽcke
Die kürzlich bekannt gewordene Log4j-Zero-Day-Lücke macht auch vor Spring-Boot-Nutzerinnen und -Nutzern keinen Halt. Das Java-Framework zum Erstellen von Spring-Anwendungen ist allerdings laut dem Spring-Team nur unter bestimmten Umständen angreifbar: Nur diejenigen, die das standardmäßige Logging auf Log4j gesetzt haben, sollen von der Sicherheitslücke betroffen sein.
Videos by heise
Die in spring-boot-starter-logging enthaltenen JAR-Dateien log4j-to-slf4j und log4j-api sollen sich alleine nicht ausnutzen lassen, im Gegensatz zu vulnerablen Anwendungen, die log4j-core und User-Input in Log-Messages verwenden.
Weitere Details und GegenmaĂźnahmen beschreibt das Spring-Team in einem Blogeintrag.
(mai)