The Spring Blog

Engineering
Releases
News and Events

Spring Cloud Stream Fishtown.M1 /2.1.0.M1 Release Announcement

We are pleased to announce the first Milestone of the Spring Cloud Stream Fishtown release train - Fishtown.M1/2.1.0.M1.

Spring Cloud Stream Fishtown 2.1.0.M1 is available for use in the Spring Milestone repository. The release notes include relevant information about version compatibility with Spring Boot, Spring Cloud, Spring AMQP, and Spring for Apache Kafka.

The following section provides a brief summary of features and improvements included in this release.

Notable Features, Improvements & enhancements

Read more...

Hands on MongoDB 4.0 transactions with Spring Data

With MongoDB 4.0, ACID transactions have arrived in the Document store, enforcing all-or-nothing execution and maintaining data integrity. So, let’s get straight to it by looking at both the synchronous and the reactive execution models.

At the time of this writing, MongoDB multi-document transactions are supported across a single replica set and feel like the transactions you are probably familiar with from relational databases. Looking at the driver API, one feels immediately at home:

try (ClientSession session = client.startSession()) {

    session.startTransaction();

    try {

        collection.insertOne(session, documentOne);
        collection.insertOne(session, documentTwo);

        session.commitTransaction();

    } catch (Exception e) {
        session.abortTransaction();
    }
}
Read more...

This Week in Spring - June 26th, 2018

Hi Spring fans and welcome to another installment of This Week in Spring! This last week’s been fun! Since we last spoke, I have been in Amsterdam (customers), London (SpringOne Tour London); Paris, Fr (JHipster Conf); Krakow, Pl (Devoxx PL); and now Sao Paulo, Br (Spring Connect SP). It’s been a wild ride and it’s nice to conclude the journey here in Brazil with one of the largest Java communities on earth.

And, as a cherry on top, there is a ton of great stuff to look at in this week’s roundup so let’s get to it!

Read more...

Spring Boot for Apache Geode & Pivotal GemFire 1.0.0.M1 Released!

Greetings Spring & Apache Geode/Pivotal GemFire communities-

I am happy to announce the first milestone release of Spring Boot for Apache Geode & Pivotal GemFire, version 1.0.0.M1.

This is a great new project building on the work started in Spring Data for Apache Geode/Pivotal GemFire nearly 2 years ago, when we introduced annotation-based configuration.

With Spring Boot’s "convention over configuration" approach using auto-configuration, this project takes configuration and development of Spring Boot, Apache Geode & Pivotal GemFire applications to the next level, whether building and running applications in a stand-alone or a managed environment like Pivotal CloudFoundry (PCF), when using Pivotal Cloud Cache (PCC).

Read more...

Spring Session for Apache Geode/Pivotal GemFire 2.0.3.RELEASE Released!

Greetings Spring & Apache Geode/Pivotal GemFire community.

It is my pleasure to announce the release of Spring Session for Apache Geode & Pivotal GemFire 2.0.3.RELEASE. This release aligns with Spring Session core 2.0.3.RELEASE and Spring Data Kay-SR7.

Of course, Spring Session core 2.0.4.RELEASE and Spring Data Kay-SR8 are already available and you can expect another release of Spring Session for Apache Geode/Pivotal GemFire in early July. This is an intermediate release with:

  • Upgrades to Gradle 4.8, using Spring Build Conventions Gradle Plugin 0.0.16.RELEASE.

  • Updated dependencies (as noted above).

  • Switched dependency management to Spring Boot’s Dependency BOM, based on Spring Boot 2.0.2.RELEASE to better align with the Spring ecosystem of projects and 3rd party dependencies.

Read more...

Spring Tips: Season 4 Recap

Hi Spring fans! We’re at the end of another season of Spring Tips. I’ll be back in a few months with even more Spring Tips, and we’ll continue our journey through aspects of the ecosystem large and small. This season, as with all seasons, has been fun for me to put together. It is a mix of brand new stuff and older stuff that we get to review in a new light. As always, I do these for you and am always eager to hear about what regions of Springdom you’d like illuminated.

Anyway, here’s a recap of the things we’ve looked at in previous installments from seasons 1-4. Enjoy!

Read more...

The Road to Reactive Spring Cloud

The new Spring Cloud Finchley GA release is jam-packed with good stuff and represents a major milestone in the journey to reactive microservices. I couldn’t possibly list everything so I refer you to the fresh-from-the-oven release announcement by Spencer Gibb. Instead, in this post, I want to focus on the road we have taken to reactive Spring Cloud.

We released Spring Framework 5 in September 2017. This was the first release to introduce new Reactive programming support to help build more robust, scalable services. It builds upon the Pivotal Reactor project, our reactive streams compatible reactive runtime. Spring Framework 5 also includes a ton of new features, and I won’t try to list them all, either, choosing instead to focus on reactive support here. What is reactive programming? Why does it matter? Well, it matters when you’re building networked services.

Read more...

This Week in Spring - June 19th, 2018

Hi Spring fans! Welcome to another wonderful and wild This Week in Spring! This week I’m in Amsterdam, NL (visiting customers); London, UK (for both the London Java Community Java User Group talk and the SpringOne Tour event); Paris, FR (for the first JHipster Conf); Krakow, PL (for Devoxx Poland) and then it’s off to Sao Paolo, BR (for the Spring Connect show). If you’re in any of those places, say hi!

Read more...

Announcing Reactor Bismuth-SR10

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

One update considerations though: Flux.last() used to skip throwing a NoSuchElementException on some category of empty sources (Flux or Mono that are Callable, like Flux.empty()). This is a bug and it correctly does throw now.

Read more...

Spring Cloud Stream Ditmars.SR4 Released

On behalf of the team, I am pleased to announce the availability of Spring Cloud Stream Ditmars.SR4 release train. This is a maintenance release and includes several bug fixes and minor enhancements in core Spring Cloud Stream (1.3.3.RELEASE), Kafka binder (1.3.3.RELEASE), and the Rabbit binder (1.3.4.RELEASE). Please take a look at the release notes for more details. The release can be found in maven central. Detailed descriptions can be found in the reference documentation.

We thank all our community members who contributed valuable additions to this release.

Read more...