Spring goes reactive

Spring 5: Zweiter Meilenstein ist da – wann kommt das finale Release?

Hartmut Schlosser

Der zweite Meilenstein auf dem Weg zu Spring 5 ist erreicht. Mit der Integration des neuen Spring Web Reactive Webframeworks steht nun eine Alternative für Spring Web MVC bereit.

Spring 5.0 M2 ist die erste Version des Spring Frameworks, die Out-of-the-Box die Entwicklung mit dem JDK 9 unterstützt. Zwar ist per Default noch das JDK 8 als Basis aktiviert, dies lässt sich aber durch die Einstellung von JAVA_HOME auf eine JDK-9-Installation ändern.

Der wichtigste Neuerung in Spring 5.0 M2 ist ein komplett neu entwickeltes funktionales Web Framework, das auf dem reaktiven @Controller-Modell aus dem ersten Meilenstein-Release basiert. Wie Arjen Poutsma in einem detaillierten Blogpost ausführt, nähert man sich mit neuen Elementen wie Handler- und Router-Funktionen einem funktionalen Programmierstil an:

– Handler functions handle request by returning a response
– Router functions route to handler functions, and can be composed with other router functions,
– Router functions can be filtered by filter functions,
– Router functions can be run in a reactive web runtime.

Für die Frage, für welche Anwendungsfälle diese neue Komponente geeignet ist, hat Spring-CTO Jürgen Höller Microservice-Architekturen ins Spiel gebracht:

My own expectation: A majority of applications will keep using traditional Servlet MVC even with Spring 5, because it’ll be good enough for their purposes… and because the benefits of a reactive endpoint layer can only fully shine with reactive access to your datastores underneath. But if you choose to use a corresponding datastore, possibly within a microservice architecture… then our new facilities can become huge enablers.

Ein Beispielprojekt für die Arbeit mit der neuen funktionalen Web Endpoint-Variante hat Poutsma auf GitHub bereit gestellt.

Spring 5 – was?

Grundthema bei Spring 5 ist die Unterstützung für reaktive Webanwendungen, wie wir sie jetzt ansatzweise in den beiden Meilensteinen gesehen haben. Die Arbeiten gehen auf das Projekt Reactor zurück, welches seinerseits in Abstimmung mit den RxJava-Entwicklern entworfen wurde.

Zudem soll das Sprachniveau von Spring 5 auf Java 8 angehoben werden, was bedeutet, dass die Java-8-Neuerungen bei der gesamten Codebasis des Frameworks Anwendung finden. Außerdem soll Servlet 3.1+, JMS 2.0+, JPA 2.1+ und JUnit 5 von Hause aus unterstützt werden.

Spring 5 – wann?

Nun aber zu der spannenden Frage, wann mit dem Release von Spring 5 zu rechnen ist. Jürgen Höller hatte noch im August 2016 auf der SpringOne-Konferenz Las Vegas das erste Quartal 2017 als Release-Termin angegeben. Allerdings ist es in Spring 5 ein erklärtes Ziel, von Beginn an die Neuerungen des JDK 9, allen voran den neue Modularisierungsstandard Jigsaw zu unterstützen. Da nun JDK 9 vor kurzem um weitere 4 Monate nach hinten, auf Juli 2017 verschoben wurde, ist fraglich, ob Spring 5 an seinem ursprünglichen Release-Plänen festhalten kann.

Detaillierte Informationen zu Spring 5.0 M2 hält der Blogpost von Arjen Poutsma Blogpost bereit.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Spring 5: Zweiter Meilenstein ist da – wann kommt das finale Release?"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Oliver Gierke
Gast

Um die Frage aus der Überschrift zu beantworten: es bleibt beim bestehenden Plan in Q1 2017 GA zu gehen. Zum einen ist das kein wirkliches Problem, da viele der APIs mit denen wir integrieren wollen ja bereits vorhanden sind. Zudem ist das auch kein Novum: Spring 4.0 ging *mit* Java 8 Support im Dezember 2013 live, während Java 8 selbst im März 2014 GA ging.

Es kann sein, dass wir einige Unterstützung für neue Features in 5.1 nachreichen, jedoch wird auch Spring 5.0 auf jeden Fall auf JDK 9 lauffähig sein.