close

Spring Data 2020.0 - New and Noteworthy in Spring Data Neo4j 6.0

Spring Data Neo4j is a Spring Data community project that is maintained and developed by Neo4j, Inc. On behalf of the team working on the module at Neo4j, we are happy to share their insights about recent changes and new features shipped with the 2020.0.0 release.

Neo4j users who use Spring Boot 2.3 require special attention because the configuration infrastructure for Spring Data Neo4j 6.0 has changed in an incompatible way.

That said, not only has the configurational infrastructure changed, but the whole project changed.

Read more

Spring Data 2020.0 - New and Noteworthy in Spring Data R2DBC 1.2

This release is a major milestone in Spring’s R2DBC support. Spring support for R2DBC started as an experimental project two years ago to evaluate how a reactive SQL integration might look. With this release, Spring Data R2DBC underwent a major refactoring by moving several components into a dedicated spring-r2dbc module and deprecating components that are provided by the Spring Framework. Besides that change, Spring Data R2DBC ships with the following most notable changes:

  • Add lifecycle callbacks through the EntityCallback API
  • Reactive auditing
  • Pass-through of enum values and Postgres Geo types
Read more

This Week in Spring - November 17th, 2020

Hi, Spring fans! Can you believe it’s already November 17th, 2020!? We’re weeks away from Thanksgiving here in the US and then the end-of-year holidays. I, for one, can not believe it. You know what else is pretty wild? The first week of January will be ten years of writing This Week in Spring!

I’ve got a pretty busy appearance schedule between now and the end of the year though. I’d love to see you at any of these events.

  1. 2020-11-17 - Ireland Bash Talk - I'll be speaking _tonight_ (California, USA / PDT time)
  2. 2020-11-18 - JCConf keynote speaker - Rsocket Revolution
  3. 2020-11-18 - QCon Plus - I'll be doing a presentation and doing live Q&A
  4. 2020-11-19 - the Kansas City JUG
  5. 2020-11-22 - GDG Devfest Shanghai
  6. 2020-11-23 - JavaHispano JUG presentation
  7. 2020-12-03 - Knoxville JUG
  8. 2020-12-04 - I'll be speaking at the jLove conference, participating in both a talk and a panel
  9. 2020-12-07 - Join me, Spring Developer Advocate Josh Long for this 90 minute exploration of all things reactive and RSocket in Spring. This is ideally timed for folks in APJ, so sign up now!
  10. 2020-12-15 - I'll be speaking at the Warsaw, Poland JUG - Warszawa JUG. Check the website for more details as they become available
  11. 2020-12-23 - Join me on our VMWare Tanzu channel - I'll be doing a "Code" stream at noon PDT
Read more

Case Study: Elasticsearch sink

This article is part of a blog series that explores the newly redesigned Spring Cloud Stream applications based on Java Functions. In this post, we will look at the Elasticsearch sink that allows us to index records in Elasticsearch, and its corresponding Consumer function.

Here are all the previous parts of this blog series.

Read more

Spring Data 2020.0 - New and Noteworthy in Spring Data MongoDB 3.1

The Spring Data MongoDB 3.1 release is one of the modules that highly benefited from the recent changes in the Spring Data Commons module, by leveraging the infrastructure built there to bring reactive features like auditing and SpEL.

The following snippet gives you an impression of what this means for declarative MongoDB queries using SpEL:

@Query("{ 'supervisor' : ?#{ hasRole('ROLE_ADMIN') ? new Document('$regex', '*') : principal.name } }")
Flux<Person> findAllFilteredByRole();

@EnableReactiveMongoAuditing uses the common infrastructure so you can keep track of changes easily.

Read more

This Week in Spring - November 10th, 2020

Hi, Spring fans! Welcome to another installment of This Week in Spring! It’s November 10th, 2020, as I write this and I, for one, can not believe that we’re closer to 2021 than we are to 2019 at this point. That’s insane. Time has absolutely rocketed by in some senses and stood utterly still in others. Odd year, this one.

I hope you’re all doing well! I’m at the Reactive Summit today (virtually, of course). This afternoon I was on a wonderful panel with all sorts of folks from around the ecosystem. And soon, around 17:30 or so, if memory serves, I’ll be speaking about RSocket and its use in the Spring ecosystem.

Read more

Spring Data 2020.0 - New and Noteworthy in Spring Data JDBC 2.1

As part of the 2020.0.0 version of Spring Data, we released Spring Data JDBC 2.1. This article presents the four most interesting changes in this version.

Use @Value on Entity Constructor Arguments

In some cases, not all the data that goes into an entity comes from the ResultSet of a query. You now may provide an @Value annotation with a SPeL expression that is evaluated, and the result is passed as an argument upon construction of the entity.

Read more

New in Spring 5.3: Improved Cron Expressions

If you regularly listen to A Bootiful Podcast, you might have heard about the improvements we made to Spring Framework’s cron support. Cron expressions are mostly used in Spring applications through the @Scheduled annotation. In Spring 5.3, we introduced the CronExpression class, which represents — you guessed it — a cron expression.

CronExpression replaces CronSequenceGenerator, which is based on java.util.Calendar and which has several known issues that none of the Spring team members felt comfortable solving. Introducing a new type allowed us to use the superior java.time APIs, solve the outstanding issues, and (hopefully) introduce new features as well. While Spring generally prefers to maintain backward compatible, sometimes we do believe that starting from scratch is the best option.

Read more