Java-Framework: Spring Boot 2.3 erweitert die Anbindung an Docker

Das Framework zum Erstellen eigenständiger Spring-Anwendungen kann Cloud Native Buildpacks verwenden und Layered Jars in Container packen.

In Pocket speichern vorlesen Druckansicht 64 Kommentare lesen
Java-Framework: Spring Boot 2.3 erweitert die Anbindung an Docker
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Spring Boot, die Erweiterung für das Java-Framework Spring, mit dem Entwickler eigenständig lauffähige Java-Anwendungen erstellen können, ist in Version 2.3 erschienen. Das Release bringt ein paar Neuerungen im Zusammenspiel mit Docker. Außerdem funktioniert der Graceful Shutdown nun im Zusammenspiel mit allen eingebetteten Webservern.

Das Release aktualisiert einige Dependencies und Anbindungen an Tools und Librarys von Drittanbietern. Auf Java-Seite setzt Spring Boot 2.3 auf Java 14, arbeitet aber weiterhin mit den Versionen 8 und 11 der Programmiersprache zusammen.

Im Zusammenspiel mit Docker lassen sich nun Cloud Native Buildpacks verwenden. Zum Erstellen eines passenden OCI-Image (Open Container Initiative) existieren Maven- und Gradle-Plug-ins über das spring-boot:build-image-Ziel und den bootBuildImage-Task. Standardmäßig setzt Spring Boot auf Paketo zum Erstellen von Buildpacks.

Eine wichtige infrastrukturelle Neuerung ist die Option, Layerd Jars in Container zu packen. Das Aufteilen in Schichten ist vor allem bei Java-Anwendungen, die sich häufig ändern, effizienter als der Weg über ein einzelnes Fat Jar, das den vollständigen Anwendungscode sowie die benötigten Java Librarys enthält. Dank des Layered-Konzepts kann das Framework beim Bau eines Container-Image die unveränderten Jars wiederverwenden und muss nur die Pakete mit neuen Inhalten frisch erstellen.

Mehr Infos

Spring

Der Graceful Shutdown funktioniert nun mit allen vier Webservern, die sich in Spring Boot einbetten lassen: Jetty, Reactor Netty, Tomcat und Undertow. Die Methode soll vor dem Herunterfahren dafür sorgen, dass offenstehende Aufgaben erledigt sind. Beim standardmäßig aktivierten harten Shutdown unterbricht der TaskExecutor von Spring alle laufenden Tasks.

Im Gegensatz dazu definieren Entwickler oder Administratoren für den Graceful Shutdown eine Gnadenfrist. Die genannten Webserver nehmen ab dem Start des sanften Abschaltens keine neuen Anfragen entgegen, aber die laufenden Requests erhalten die zusätzliche Zeit, um offene Anfragen zu bearbeiten und abzuschließen.

Außerdem bringt Spring Boot zahlreiche aktualisierte Dependencies mit, darunter das letzte Woche veröffentlichte Spring Data Neumann, das seinen Namen von der ungarisch-amerikanischen Informatikerin Klára Dán Neumann hat und das auf das nach dem Intel-Begründer Moore benannte Release folgt.

Außerdem bringt Version 2.3 aktualisierte Dependencies für die Spring-Pakete HATEOAS 1.1, Integration 5.3, Kafka 2.5, Security 5.3 und Session Dragonfruit mit. Hinsichtlich der externen Anbindungen gibt es Aktualisierungen für Cassandra Driver 4.6, Couchbase Client 3.0, Elasticsearch 7.6, Kafka 2.5, Micrometer 1.5 und MongoDB 4.0.

Weitere Neuerungen und Änderungen in Spring Boot 2.3 lassen sich dem Spring-Blog entnehmen. (rme)