The Reactive Revolution at SpringOne Platform 2019 (part 2/N)

Last year right in the middle of SpringOne Platform 2018, I posted the first post in this series, _ The Reactive Revolution at SpringOne Platform 2018 (part 1/N)_, which looked at some of the big features we’d just dropped at SpringOne Platform 2018. I wanted to follow up and revisit that blog and the concepts I’d introduced last year, and show just how far we’ve come in the intervening year. TL;DR: things are much easier!


Last year, we announced our work on trying to support a standard for reactive SQL data access with a new project called R2DBC. Traditional approaches to SQL data access on the JVM, like JDBC, are blocking APIs. They monopolize threads to do their work and negate the scalability benefits of a reactive platform like Spring. We wanted to improve that situation for developers so we built R2DBC. R2DBC has now been out in the public for more than a year and was developed internally for about as long internally before that. We’ve just reached the 0.0.8 release. We’re nearing a GA release. I’m not sure when, but I reckon we’ll have a majority of the features most developers need in a possibly GA, but-not-yet-1.0, release. Things like stored procedures might be released later.

Read more

This Week in Spring - October 22nd, 2019

Hi, Spring fans! What a week! I’ve just returned from Prague, the Czech Republic, where I was for the epic Geecon Prague 2019 event. (Thanks for voting my talk on Reactive Spring the #1 talk, Prague!). Now I’m in Nantes, France, the DevFest Nantes show. I’d never been to Prague and I’ve never been to Nantes. So how’s that for cool first-time appearances in one week? I’ll be speaking about testing here. Tonight I fly to Paris, Fr, for customer meetings. Then I fly on Thursday to St. Petersburg, Russia, for the Joker conference, where I’ll be presenting on testing and I’ll be co-presenting with Spring co-founder, my friend, and hero, the one, the only, the amazing and inimitable, a veritable font of kindness and wisdom, Juergen Hoeller! Then, on the 27th, I fly to Chicago. It’s shaping up to be quite the week!

Read more

Spring Boot for Apache Geode & Pivotal GemFire 1.2.0.RELEASE Available

On behalf of the Spring, Apache Geode, Pivotal GemFire and Pivotal Cloud Cache (PCC) communities, it is my pleasure to announce the release of Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.2.0.RELEASE.

SBDG 1.2.0.RELEASE is based on the Spring Boot 2.2.0.RELEASE and can be acquired from Maven Central.

Just declare org.springframework.geode:spring-geode-starter to use Apache Geode or org.springframework.geode:spring-gemfire-starter to use either Pivotal GemFire or PCC in your Maven or Gradle build files and you are ready to start building highly scalable Spring Boot applications using these technologies.

Read more

Spring Session for Apache Geode & Pivotal GemFire 2.2.0.RELEASE Available

On behalf of the Spring, Apache Geode & Pivotal GemFire communities, it is my pleasure to announce the release of Spring Session for Apache Geode and Pivotal GemFire (SSDG) 2.2.0.RELEASE.

SSDG 2.2.0.RELEASE primarily aligns with Spring Framework 5.2.0.RELEASE, Spring Data Moore-RELEASE/2.2.0.RELEASE, Spring Session Corn-RELEASE/2.2.0.RELEASE, Apache Geode 1.9.1 and Pivotal GemFire 9.8.4.

You can acquire the bits in Maven Central.

Additionally, SSDG 2.2.0.RELEASE can be acquired from Spring Boot 2.2.0.RELEASE.

Read more

Spring Cloud Stream - functional and reactive

In the previous post, I tried to provide justification for our shift to a functional programming model in Spring Cloud Stream (SCSt). It’s less code, less configuration. Most importantly, though, your code is completely decoupled and independent from the internals of SCSt.

In this post, I’ll dig a little deeper and summarize the core features of our functional support, specifically around its reactive features.

IMPORTANT: Anything you can do with @StreamListener/@EnableBinding you can also do without it. In other words, the functional support is now feature-compatible with the annotation-based support.

Read more

Spring Boot 2.2.0

On behalf of the Spring Boot team and everyone that has contributed, I am delighted to announce that Spring Boot 2.2.0 has been released and is available now from, Maven Central and Bintray. This release adds a significant number of new features and improvements. For full upgrade instructions and new and noteworthy features please see the release notes.

What’s new in 2.2

Dependency upgrades

Spring Boot 2.2 moves to new versions of several Spring projects:

  • Spring AMQP 2.2
  • Spring Batch 4.2
  • Spring Data Moore
  • Spring Framework 5.2
  • Spring HATEOAS 1.0
  • Spring Integration 5.2
  • Spring Kafka 2.3
  • Spring Security 5.2
  • Spring Session Corn
Read more

Simple Event Driven Microservices with Spring Cloud Stream

Event driven architecture is great. But without a framework, writing the scaffolding required to work with popular event messaging platforms can be messy. In this post we’ll take a look at how Spring Cloud Stream can be used to simplify your code.

The Problem

You just want to write logic for your event driven application, but the boilerplate messaging code can get in the way. Connecting your apps to messaging services is tricky, and if you’re an enterprise developer, you probably need to work with multiple messaging technologies (either on-premises or in the cloud).

Read more

This Week in Spring - October 14th, 2019

Hi, Spring fans! WHEW! What a week! Last week was the insane SpringOne Platform 2019 event, from which I am still recovering! Then I flew home, hosted Spring team member and Micrometer lead and friend Tommy Ludwig in San Francisco, and prepared to fly out for meetings and user group appearances on Monday (in Stuttgart, Germany) and Tuesday (in Amsterdam).

I prepared, and got into the Uber going to San Francisco airport when I got a call from my brother saying my 81-year-old dad wasn’t doing well (thanks to everyone for the well-wishes!) and was rushed to the hospital. I had to, regretfully, cancel my live appearances in those countries. I am SO sorry for those I disappointed. I was very happy to be able to do a few of those meetings remotely. Thanks to everyone who indulged me and supported me as I flew to Los Angeles to be with my father.

Read more