An update on the 5th and last milestone of Spring Framework 5.0...
Spring MVC and Spring WebFlux
The name *Spring MVC* is both well known and widely used but it may surprise a few there is no actual project or independent distribution with that name. Rather it is a module within the Spring Framework distribution called `spring-webmvc`. Here is another trivia question. Did you know that the top-level package in the module does not feature "mvc"? Rather it is called `org.springframework.web.servlet`. Practically speaking those are details that we don't have to remember. What matters is that we have a short and memorable name to refer to *Spring's Servlet stack based* web framework.
Spring's reactive stack web framework, new in 5.0, is fully reactive and non-blocking. It is suitable for event-loop style processing with a small number of threads. It is supported on Servlet containers (Tomcat, Jetty, Servlet 3.1+) but also non-Servlet runtimes (Netty, Undertow) since the common foundation for this stack is not the Servlet API but a non-blocking alternative built on Reactive Streams and the Reactor project. In case you're wondering, isn't Servlet 3.1 capable of non-blocking I/O…
As Juergen mentioned in his Spring Framework 5 M1 release announcement our Spring Reactive initiative has been merged into Spring Framework proper preserving all contributions and its full history over more than a year.
What is it?
In a nutshell reactive programming is about non-blocking, event-driven applications that scale with a small number of threads with backpressure as a key ingredient that aims to ensure producers do not overwhelm consumers. The Reactive Streams specification (also adopted in Java 9) enables the ability to communicate demand across layers and libraries from different…
A new Spring Web Flow 2.4.4 maintenance release is now available for download or use from Maven and Gradle builds. This release extends compatibility to Hibernate 5.2 and also includes several mainly JSF related fixes.
At SpringOne2GX 2015, Juergen announced plans for Spring Framework 5 with a major focus on reactive architectures. Concrete efforts are already underway and a lot has happened since!
At the most basic level, reactive programming models allow for writing non-blocking services and applications. This requires a fundamental shift from writing imperative logic to async, non-blocking, functional-style code, in particular when interacting with external resources.
Reactive Web Applications
Most Java web applications are built on the Servlet API which was originally created with synchronous and…
A minor maintenance release of Spring Web Flow is now available for use. The release addresses compatibility issues against Spring Security 4.0 and the Mojarra and Apache MyFaces JSF implementations. For a list of the addressed issues see the release notes JIRA report.
Recently Juergen Hoeller
announced the availability
of the first of two 4.1 release candidates.
Brian Clozel followed up with a post on the
static web resources handling enhancements.
Previously Stephane Nicoll blogged about
cache and
JMS related improvements.
The goal of this post is to summarize Spring MVC improvements.
The JDK 1.8 java.util.Optional is now supported for @RequestParam, @RequestHeader and
@MatrixVariable controller method arguments while ListenableFuture is supported as a
return value alternative to DeferredResult where an underlying
service (or perhaps a call to AsyncRestTemplate) already returns…
I'm pleased to announce a double bill release of Spring Web Flow 2.4.0 and 2.3.4.
Please refer to the "What's new" section of the reference for an overview of the 2.4.0 release. The 2.3.4 release is minor maintenance release mainly with fixes for issues reported by JSF users.
The release includes Java based configuration for Spring Web Flow and Spring Faces. To demonstrate it the booking-mvc and the booking-faces samples have been switched to all Java configuration. See their respective configuration classes here and here.
I'm pleased to announce the availability of Spring Web Flow 2.3.3. This is the third maintenance release of the 2.3.x branch extending compatibility to Spring Framework 4 and also JSF 2.2. The spring-webflow-samples Github repository has been updated to use the above versions.