The Spring Blog

Engineering
Releases
News and Events

Introducing Spring Cloud Circuit Breaker

Background

When using a microservices architecture to build our applications, it is very common to end up with a pretty complex dependency tree amongst services. If the service down the dependency tree encounters an issue that causes it to start to respond slowly, it ends up causing a set of issues that cascade up the dependency tree. As more and more requests come in to the application, more and more resources may be consumed by waiting for the slow service to respond. Even worse, the additional load being put on the slow service may exacerbate the problem. To help alleviate the effect of these types of cascading failures, it is common practice to use circuit breakers as part of microservice applications.

Read more...

Spring Security 5.2.0.M2 Released

On behalf of the community, I’m pleased to announce the release of Spring Security 5.2.0.M2! This release includes 100+ updates. You can find the highlights below:

OAuth 2.0

gh-6446 - Client Support for PKCE

PKCE isn’t just for native or browser-based apps, but for any time we want to have a public client. Spring Security 5.2 introduces a secure way for backends to authenticate as public clients.

gh-5350 - OpenID Connect RP-Initiated Logout
gh-5465 - Ability to use symmetric keys with JwtDecoder
gh-5397 - Ability for NimbusReactiveJwtDecoder to take a custom processor
gh-6513 & gh-5200 - Support for Resource Server Token Introspection

Resource Server now supports a second OAuth 2.0 token verification strategy: Token Introspection. This is handy when a Resource Server wants to or must verify the token remotely.

gh-5351 - Support for Resource Server Multi-tenancy (Servlet only)

With the introduction of AuthenticationManagerResolver, initial support for multi-tenant Resource Servers has arrived.

Read more...

Spring Boot 2.2 M2

On behalf of the team and everyone that contributed, I am pleased to announce that the second milestone of Spring Boot 2.2 has been released and is available from our milestone repository. This release closes almost 100 issues and pull requests.

Highlights of this milestone include:

  • Spring Framework 5.2.0.M1
  • @ConfigurationProperties scanning
  • Immutable @ConfigurationProperties binding
  • Initial RSocket Server Support
  • Lazy Initialization and performance improvements

For a complete list of changes and upgrade instructions, please see the Spring Boot 2.2 Release Notes on the wiki and the updated reference documentation.

Read more...

This Week in Spring - April 16th, 2019

Hi Spring fans! What a week it’s been! When we last spoke I was in Capetown, South Africa or Johannesburg, South Africa. I’ve since been to Mauritius, back to Capetown, Serbia (for the amazing ITKonekt conference) and I’m now staring at the beautiful Bund river in beautiful Shanghai, China as I write this.

We’ve got a ton to get to this week, as usual, so let’s get to it.

Read more...

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

I am pleased to announce the release of Spring Session for Apache Geode & Pivotal GemFire (SSDG), 2.2.0.M1.

This release focuses on dependency updates to align with the rest of the Spring portfolio in their respective release lines, building on:

  • Spring Framework 5.2.0.M1

  • Spring Data Moore-M3

  • Spring Session 2.2.0.M1

  • And is targeted for use in Spring Boot 2.2.0.M1

SSDG 2.2.0.M1 bits are available in the Spring libs-milestone repository (here).

What’s Next

Some of the proposed and upcoming features in the SSDG 2.2 release line include:

  • Attached Sessions (option).

  • Stronger Consistency (option) using Map.replace(key, oldValue, newValue) for lightweight transactions supplanting the need for heavier, cache/local transactions.

  • Improvements in PDX Serialization support.

  • And much more…​

Read more...

Spring Session for Apache Geode & Pivotal GemFire 2.0.9.RELEASE & 2.1.3.RELEASE Available

I am pleased to announce the release of Spring Session for Apache Geode & Pivotal GemFire (SSDG), 2.0.9.RELEASE and 2.1.3.RELEASE.

Both of these releases focus on dependency updates to align with the rest of the Spring portfolio in their respective release lines.

SSDG 2.0.9.RELEASE builds on:

  • Spring Framework 5.0.13.RELEASE

  • Spring Data Kay-SR14

  • Spring Session 2.0.10.RELEASE (Apple-SR9)

  • And is targeted for use in Spring Boot 2.0.9.RELEASE.

SSDG 2.1.3.RELEASE builds on:

  • Spring Framework 5.1.6.RELESE

  • Spring Data Lovelace-SR6

  • Spring Session 2.1.5.RELEASE (Bean-SR4)

  • And is targeted for use in Spring Boot 2.1.4.RELEASE

Read more...

Going Reactive with Spring, Coroutines and Kotlin Flow

Since we announced Spring Framework official support for Kotlin in January 2017, a lot of things happened. Kotlin was announced as an official Android development language at Google I/O 2017, we continued to improve the Kotlin support across Spring portfolio and Kotlin itself has continued to evolve with key new features like coroutines.

I would like to take the opportunity of the first milestone of Spring Framework 5.2 to give a status overview of where we are when it comes to Spring and Kotlin. And I will make my best to focus on concrete improvements since I believe Spring and Kotlin share the same pragmatic mindset.

Read more...

Spring Data Moore M3 released

Hot on the heels of Spring Framework 5.2 M1 and just in time for the upcoming Spring Boot 2.2 M2 release, on behalf of the Spring Data team, I’m pleased to announce the availability of the third milestone of the Moore release train.

Notable changes amongst many others:

  • Flow extensions for Kotlin coroutines in Spring Data for Apache Cassandra & MongoDB.
  • MongoDB Json Schema generation from domain Types.
  • Support for BINARY storage type in Spring Data JDBC.
  • Alternative EntityMapper for Elasticsearch.
  • Improved Geospatial query support for Neo4j.
  • Smarter Redis cluster topology caching.
Read more...