Spring Team
Mark Paluch

Mark Paluch

Spring Data Project Lead

Weinheim, Germany

Mark is Software Craftsman, Spring Data Project Lead at Pivotal, and Lead of the Lettuce Redis driver. His focus is now on reactive data integrations and R2DBC.
Blog Posts by Mark Paluch

Reactive Transactions with Spring

Back in 2016, our reactive journey started with Spring Framework 5 accompanied by a couple of reactive integrations. Throughout our journey, other projects joined the reactive movement. With R2DBC, we now also provide a reactive integration for SQL databases. With the growth of transaction-capable integrations, we constantly got asked:

Does Spring Framework support Reactive @Transaction?

At the time our journey began, we had no reactive form of transactional integrations, so this question was simple to answer: There’s no need for reactive transaction management.

Read more...

Spring Data R2DBC 1.0 M2 and Spring Boot starter released

Spring Data R2DBC

On behalf of the community and everyone who contributed, I’m delighted to announce the availability of the second milestone of Spring Data R2DBC 1.0. It is based on the recently released Moore M4 release and R2DBC 0.8.0.M8 release. Please note that Spring Data R2DBC is released outside of the Moore release train and it will be part of the next release train Neumann.

Spring Data R2DBC ships with 32 tickets fixed. The most notable features are:

  • Support for MySQL by using jasync-sql.
  • Reactive transaction manager.
  • Fluent API for insert/update/delete operations.
  • Coroutine extensions.
  • Support for custom conversions.
  • Named parameters that are translated to native bind markers by using Dialect instances.
  • Support for single-column projections for simple types.
  • Refactored package structure.
Read more...

Spring Data Moore M4, Lovelace SR8 and Ingalls SR22 released

I am pleased to announce the availability of Spring Data releases Moore M4, Lovelace SR8, and Ingalls SR22. Our releases build on the most recent Spring Framework releases and are going to be picked up by Spring Boot 2.2 M3, 2.1.5 and 1.5.21 respectively.

Moore M4 is also a pre-requisite for Spring Data R2DBC 1.0 M2. It ships with 70 tickets fixed. There are a few notable new features amongst these:

  • Support for reactive transaction management for MongoDB
  • Annotation-based Collation support for MongoDB
  • Reactive Index Operations in Elasticsearch and delete by query
Read more...

Spring Vault 2.1.2.RELEASE available

On behalf of the community, I’d like to announce the availability of the Spring Vault service release 2.1.2 available from Maven Central.

This release ships with bug fixes and dependency version updates. Spring Vault 2.1.2 is going to be picked up by Spring Cloud Vault 2.1.2 with the Spring Cloud Greenwich SR1 release in the next days.

For a complete list of changes see the changelog.

End of Life for 1.1.x and 2.0.x Lines

With this release cycle, we have stopped backporting changes to the earlier Spring Vault 2.0.x line. The 2.0.x line has already reached its end of life. For the 1.1.x line, we’re going to backport fixes until Aug 1st, 2019, in alignment with Spring Boot 1.5.x and Spring Cloud Edgware EOL dates.

Read more...

Spring Data Lovelace SR5 released

On behalf of the Spring Data team, I’d like to announce the availability of the Lovelace SR5 maintenance release. This release ships on top of the just-released Spring Framework 5.1.5. Spring Boot 2.1.3 is going to pick up Lovelace SR5, for your convenience.

The service releases ship with mostly bug fixes and a few dependency upgrades addressing about 40 tickets.

Last but not least, here’s the laundry list:

Read more...

Spring Data Lovelace SR4, Kay SR13, and Ingalls SR18 released

On behalf of the Spring Data team, I’d like to announce the availability of the Lovelace SR4, Kay SR13, and Ingalls SR18 maintenance releases. Today’s releases pick up the latest Spring Framework maintenance releases: 5.1.4, 5.0.12, and 4.3.22, respectively. The upcoming Spring Boot releases (2.1.2, 2.0.8, and 1.5.19) are going to pick up Lovelace SR4, Kay SR13, and Ingalls SR18, for your convenience.

The service releases ship with bug fixes and dependency upgrades and address over 170 tickets in total. You can find the complete list of tickets by following the links below:

Read more...

Spring Data R2DBC 1.0 M1 released

It’s my pleasure to announce the first milestone of Spring Data R2DBC. Spring Data R2DBC is Spring’s client project for R2DBC. With Spring Data R2DBC you get end to end reactive ad-hoc query execution and Spring Data repositories for relational databases.

Spring Data R2DBC embraces functional-reactive integration of relational databases by providing DatabaseClient as its central abstraction. The following example shows how to bootstrap DatabaseClient without spinning up a Spring context:

PostgresqlConnectionFactory connFactory = new PostgresqlConnectionFactory(
  PostgresqlConnectionConfiguration.builder()
    .host(…)
    .database(…)
    .username(…)
    .password(…)
    .build());

DatabaseClient databaseClient = DatabaseClient.create(connFactory);
Read more...

Reactive Programming and Relational Databases

Imperative code eats threads at the pace of incoming requests while Software is eating the world. This post discusses the assumptions for reactive programming on the JVM and what this means for integrations – in particular, relational databases.

The motivation to come up with a post is the constant increase in reactive programming adoption while some major building blocks are not yet available – in particular, the question: What about relational databases?

What is Reactive Programming

There are a lot of answers about what Reactive Programming is and how this compares to Reactive Systems. I see Reactive Programming as a programming model that facilitates scalability and stability by creating event-driven non-blocking functional pipelines that react to availability and processability of resources. Deferred execution, concurrency and asynchronicity are only a consequence of the underlying programming model.

Read more...

Spring Data Lovelace SR3, Kay SR12, and Ingalls SR17 released

On behalf of the Spring Data team, I’d like to announce the availability of the Lovelace SR3, Kay SR12, and Ingalls SR17 maintenance releases. All of these releases pick up the latest Spring Framework maintenance releases: 5.1.3, 5.0.11, and 4.3.21, respectively. The upcoming Spring Boot releases (2.1.1, 2.0.7, and 1.5.18) are going to pick up Lovelace SR3, Kay SR12, and Ingalls SR17, for your convenience.

The service releases ship with bug fixes and dependency upgrades and address almost 100 tickets in total. You can find the complete list of tickets by following the links below:

Read more...

Spring Vault 2.1.1, 2.0.3, and 1.1.3 released

On behalf of the community, I’d like to announce the availability of Spring Vault service releases 2.1.1, 2.0.3, and 1.1.3, available from Maven Central.

These releases ship with bug fixes and dependency version updates. Spring Vault 2.1.1 is going to be picked up by Spring Cloud Vault with the Spring Cloud Greenwich M2 release in the next days.

For a complete list of changes see the changelogs:

Read more...