We are happy to announce the availability of the seventh milestone of Spring Framework 6.2. We shipped quite a few features since the last M6 release. Spring Framework 6.2.0-M7 is available from repo.spring.io/milestone now, check out the detailed changelog for this version. Core and Native Support This release contains various improvements in the core of the framework, including to the cache abstraction's error handling. It adds a flexible multi-unit format to the previously introduced Duration parsing/printing support. On the topic of Native Support, it is now possible to ignore bean…
Spring Framework 6.2.0-M1 has been released, including changes that resolve more than one hundred issues. Among those are a range of new features in Spring's testing support. In this post, I’d like to walk you through one of these new testing features: Bean Overriding support. The previous state of affairs Using the Spring TestContext Framework, you can easily verify the correct wiring of your Spring application within integration tests using an annotation-driven model. In unit testing, dependency injection and Spring design principles make your code less dependent on the container and make it…
Earlier this month, we released a first milestone of Reactor 2020.0.
This cycle, codename Europium, follows the Dysprosium one (which included reactor-core 3.3.x and reactor-netty 0.9.x). It includes reactor-core 3.4.0 and reactor-netty 1.0.0. In this blog post, we'll cover a few highlights of the reactor-core milestone, and briefly mention what's in store for M2. For reactor-netty, we'll link to a separate blog post here as soon as it is out. Note also that there is a new versioning scheme in place, which has been adopted accross the Spring portfolio: see the reference guide and this blog…
This blog post is the third in a series of posts that aim at providing a deeper look into Reactor’s more advanced concepts and inner workings. In this post, we explore the threading model, how some (most) operators are concurrent agnostic, the Scheduler abstraction and how to hop from one thread to another mid-sequence with operators like publishOn. This series is derived from the Flight of the Flux talk, which content I found to be more adapted to a blog post format. The table below will be updated with links when the other posts are published, but here is the planned content: Assembly vs…
This blog post is the second in a series of posts that aim at providing a deeper look into Reactor's more advanced concepts and inner workings. It is derived from my Flight of the Flux talk, which content I found to be more adapted to a blog post format. I'll update the table below with links when the other posts are published, but here is the planned content: Assembly vs Subscription Debugging caveats (this post) Hopping Threads and Schedulers Inner workings: work stealing Inner workings: operator fusion If you're missing an introduction to Reactive Streams and the basic concepts of Reactor…
This blog post is the first in a series of posts that aim at providing a deeper look into Reactor's more advanced concepts and inner workings. It is derived from my Flight of the Flux talk, which content I found to be more adapted to a blog post format. I'll update the table below with links when the other posts are published, but here is the planned content: Assembly vs Subscription (this post) Debugging caveats Hopping Threads and Schedulers Inner workings: work stealing Inner workings: operator fusion If you're missing an introduction to Reactive Streams and the basic concepts of Reactor…
On behalf of the Reactor team, I have the pleasure of announcing the newest Reactor milestone, Californium-M1 ? ? The team has been busy working on Californium, the third major installment of Reactor 3. We are now ready for your feedback on a few select issues, and we have a lot of enhancements and bug fixes ready for your consumption as well. Californium-M1 BOM For its third release train, we continue on the theme of alphabetically increasing names on the periodic table of elements. Californium is an element first synthesized in California. The milestone's BOM contains: reactor-core 3.2.0.M…
On behalf of the Reactor team, I have the pleasure of announcing a first shipment of Reactor goodness this week: Reactor Bismuth-SR10 is out ? Stay tuned for a Reactor Californium milestone later this week ??♂️ Reactor Bismuth-SR10 The latest maintenance BOM of the 3.1.x line, Bismuth-SR10, is out. It includes two new artifacts (click on the version numbers to see the release notes on GitHub): reactor-core 3.1.8.RELEASE reactor-netty 0.7.8.RELEASE One update considerations though: Flux.last() used to skip throwing a NoSuchElementException on some category of empty sources (Flux or Mono that…
On behalf of the whole Reactor Team, it is my pleasure to announce that the Reactor BISMUTH-SR7 release train is now available. As always, we recommend using the reactor-bom Bill Of Material. In time for Spring Boot 2, this release train comes with improvements and bugfixes to core, extras, and reactor-netty. This blog post highlights the most significant changes in both SR7 and last week’s SR6 release trains. Reactor-Core 3.1.5 What’s new since 3.1.3? See the full release notes of the 3.1.4.RELEASE and the 3.1.5.RELEASE. Core changes include more than 15 improvements and bugfixes. A few new…
Greetings Reactive Spring community! While the team is still working heavily on the 3.1 line, we also wanted to give the community a chance to get a sneak peek at what’s coming for the future 3.2 line. In particular, the big goodie slated for 3.2.0.RELEASE is the addition of what we’ve been calling "error mode", "continue mode" or lately more officially "error strategy". The idea It is simple, really: what if exceptions in user code that get executed within operators could be recovered from, allowing the sequence to continue? Let’s take an example, and imagine you have the following method: In…