Newest Post

Spring Tips: @Controllers and RSocket

Read more

This Week in Spring - November 30th, 2021

Hi, Spring fans! Welcome to another installment of This Week in Spring! This last week’s been nutty! Here in the US, we just celebrated the Thanksgiving holiday, and I am fat with turkey and pie, and lazy. But happy. I hope you’re well fed and happy, too. Time’s flying. (Also: can you believe we’re a month away from the new year? I think there’s like four or five weeks (and thus _This Week in Spring_s!) left in the year!)

We’ve got a ton of stuff to get into this week, so let’s go:

Read more

Security Report for Spring AMQP (Spring for RabbitMQ)

The recently released versions of Spring AMQP (2.4.0, 2.3.12, 2.2.20) contain a fix for CVE-2021-22095, which can cause a potential OutOfMemoryError for very large messages.

Spring Boot version 2.6.0 and 2.5.7 will bring in the 2.4.0 and 2.3.12 versions of spring-amqp respectively. Users of Boot 2.4.x should override the spring-amqp and spring-rabbit versions to 2.3.12; users of Spring Boot 2.3.x should override the versions to 2.2.20.

Read more

Spring Boot 2.6.1 is now available

On behalf of the team and everyone who has contributed, I’m happy to announce that Spring Boot 2.6.1 has been released and is now available from Maven Central.

This release includes 11 bug fixes and documentation improvements. Thanks to all those who have contributed with issue reports and pull requests.

How can you help?

If you’re interested in helping out, check out the “ideal for contribution” tag in the issue repository. If you have general questions, please ask on using the spring-boot tag or chat with the community on Gitter.

Read more

Spring Data MongoDB - Relation Modelling

MongoDB’s flexible schema allows for multiple patterns when it comes to modeling relationships between entities. Also, for many use cases, a denormalized data model (storing related data right within a single document) might be the best choice, because all information is kept in one place, so that the application requires fewer queries to fetch all data. However, this approach also has its downsides, such as potential data duplication, larger documents, and the maximum document size.

In general, MongoDB recommends using normalized data models when the advantages of embedding are neglected by the implications of duplication. In this blog post, we take a look at the different possibilities of linking documents with manual references and DBRefs when the need occurs to work with relations.

Read more

This Week in Spring (Happy Thanksgiving!) - November 23rd, 2021

Hi, Spring fans! Welcome to another installment of This Week in Spring!

Hi, Spring fans! Welcome to another installment of This Week in Spring. This Thursday is Thanksgiving here in the US, where I live. it’s a time during which we Americans try to be thankful for what we have. And me, personally? I’ve got a lot of things for which I am grateful, this week and always.

I am thankful for my family and friends. A person is the company they keep, and I am lucky to have excellent company in my life.

I am thankful for my health. Right now, pandemic be danged, I’m healthy and happy, something for which I am endlessly grateful because I know what it’s like not to be healthy.

Read more

Spring HATEOAS 1.4 released

I am excited to announce that Spring HATEOAS 1.4 GA has been part of the cascade of releases that lead to the Spring Boot 2.6 last week. The release ships a couple of new features and all bug fixes we have incorporated in the 1.3.x line. The most notable new features are:

  • Full support for level 4 URI templates

  • Support for non-composite request parameter rendering

  • Improved HAL-FORMS support (additional property constraints, custom media types)

  • Additional HTML input types (checkbox, radio, file)

  • General dependency upgrades, including Spring Framework 5.3.13 and Jackson 2.13.9.

Read more

Spring Boot 2.6 is now available

On behalf of the Spring Boot team and everyone that has contributed, I am pleased to announce that Spring Boot 2.6.0 has been released and is available from Maven Central.

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.6

  • Support for SameSite attributes on session cookies for servlet applications
  • Support for configuring health groups on the main or management port
  • Enhanced /info endpoint with Java Runtime information
  • Support for testing Spring MVC using WebTestClient
  • Auto-configuration for spring-rabbit-stream
  • Support for pluggable rules for sanitizing properties in /env and configprops
Read more

Get to Know a Kubernetes Operator!

Hi, Spring fans! It’s Friday, and you know what that means? Some poor schlub somewhere is trying fruitlessly to get something deployed to production, or at least rolled back consistently, in time for dinner. And it’s not working. I’ve been there. Deployments are hard. There’s nuance in deployment. I love Kubernetes as much as the next Operator, but let’s not pretend it’s the pinnacle of productivity. Quite the contrary. There’s a whole cottage industry around simplifying application deployments with Kubernetes. See for example KNative, Cloud Foundry on Kubernetes, or Azure Spring Cloud. These tools are awesome - they provide opinions about how to quickly deploy and manage typical 12-factor style online web applications. They have strong opinions that are loosely held. They’re rails for particular workloads - rails that lead to production, if you can fit your workload into a particular, PaaS-friendly shape. That’s great for so much of the workloads we run out there, but not all of them. Our applications will invariably want to talk to something more substantial, like Apache Kafka, and those things are never so easy to deploy.

Read more