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.

In Pocket speichern vorlesen Druckansicht
Business,Concept,-,High,Speed,Abstract,Mrt,Track,Of,Motion

(Bild: voyata/Shutterstock.com)

Lesezeit: 2 Min.

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.

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:

Spring Native 0.11 nutzt eine neue AOT-Engine, die bei der Konfiguration von Anwendungen zum Einsatz kommt.

(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:

Das Starten geht in Spring Native 0.11 aufgrund der neuen AOT-Engine schneller vonstatten.

(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.

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.

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)