close

This Week in Spring - March 31st, 2020

Hi, Spring fans! Welcome to another extra-meaty installment of This Week in Spring! This week, we’ve got a ton of stuff to look at so I won’t belabor it!

Read more

Spring Data Neumann goes RC1

I’m pleased to announce that Spring Data Neumann has entered the release candidate phase with 86 tickets fixed. This release is the first of two release candidates. This release candidate ships with a series of noteworthy changes:

  • Upgrade to Couchbase SDK 3.
  • Spring Data MongoDB no longer automatically creates indexes from @Indexed annotations by default.
  • The Cassandra module supports configurable naming strategies and ships with a revised data type resolution mechanism.
  • Spring Data Elasticsearch now supports auditing and entity callbacks.
  • Support for query derivation in Spring Data R2DBC.
  • Dialect discovery for Spring Data JDBC, supporting H2, HSQLDB, Postgres, MariaDB, MySQL, and SQL Server.
  • Upgrade to Querydsl 4.3.
  • Ready for JDK 14.
Read more

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

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

SBDG 1.2.6.RELEASE is based on the newly minted Spring Boot 2.2.6.RELEASE and is available in Maven Central.

You may also begin a new Spring for Apache Geode (or Pivotal GemFire) project at start.spring.io using the Spring Initializer.

One, very important change in this release, includes a fix for an SSL auto-configuration issue when TLS is enabled and a Spring Boot app using Pivotal Cloud Cache (PCC) is pushed up to a managed cloud environment, such as Pivotal Platform (a.k.a. Pivotal CloudFoundry).

Read more

@DynamicPropertySource in Spring Framework 5.2.5 and Spring Boot 2.2.6

Recently, when talking about testing Spring Boot applications at Spring IO and SpringOne Platform, I’ve mentioned Testcontainers and discussed the boilerplate involved in configuring your tests to use the service running inside the container. I’m delighted to say that, with the recent Spring Framework 5.2.5 release, that boilerplate is no more.

Prior to the changes that we’ve just released, your integration test would look similar to the following:

@SpringBootTest
@Testcontainers
@ContextConfiguration(initializers = ExampleIntegrationTests.Initializer.class)
class ExampleIntegrationTests {

    @Container
    static Neo4jContainer<?> neo4j = new Neo4jContainer<>();

    static class Initializer implements
            ApplicationContextInitializer<ConfigurableApplicationContext> {

        @Override
        public void initialize(ConfigurableApplicationContext context) {
            TestPropertyValues.of("spring.data.neo4j.uri=" + neo4j.getBoltUrl())
                    .applyTo(context.getEnvironment());
        }

    }

}
Read more

Spring Boot 2.2.6 available now

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

This release includes 53 bug fixes, enhancements, documentation improvements, and dependency upgrades and adds support for the recently released Java 14. 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 stackoverflow.com using the spring-boot tag or chat with the community on Gitter.

Read more

Liveness and Readiness Probes with Spring Boot

Update: this blog post has been updated for changes released in Spring Boot 2.3.0.RC1

The Spring Boot team is actively working on a Kubernetes theme for the next 2.3.0 release. After Docker images creation and Graceful Shutdown support, it’s now time to introduce Liveness and Readiness probes support.

With our 2.2.0 release, Spring Boot shipped with the Health Groups support, allowing developers to select a subset of health indicators and group them under a single, correlated, health status.

Even with this new feature, we’ve found that we could provide more to the Spring community, with more opinions and guidance when it comes to Kubernetes.

Read more

Spring Data Moore SR6 available now

On behalf of the community, I’m pleased to announce the availability of the Spring Data Moore SR6 service release. This release ships with dependency upgrades and bug fixes in preparation for the upcoming Spring Boot 2.2.6.RELEASE release.

This release ships with 46 tickets fixed and is a recommended upgrade. Finally, here are links to the reference documentation, changelogs, and artifacts of the individual project releases:

Read more

Spring Tips: Spring Cloud Loadbalancer

speaker: Josh Long (@starbuxman)

Hi, Spring fans! Welcome to another installment of Spring Tips! In this installment, we’re going to look at a new feature in Spring Cloud, Spring Cloud Loadbalancer. Spring Cloud Loadbalancer is a generic abstraction that can do the work that we used to do with Netflix’s Ribbon project. Spring Cloud still supports Netflix Ribbon, but Netflix Ribbons days are numbered, like so much else of the Netflix microservices stack, so we’ve provided an abstraction to support an alternative.

Read more

This Week in Spring - March 24th, 2020

Hi, Spring fans! Welcome to another installment of This Week in Spring! It’s a beautiful Tuesday for any number of reasons. I presented in the DevDotNext digital edition show just a few hours ago - that was a lot of fun and I highly recommend you consider attending the next editions (online or - assuming we get past this pandemic - online).

Today is also the 16th birthday of Spring Framework 1.0 - released this day in 2004! What a journey! And of course, the person who announced that that version, the amazing Thomas Risberg (@trisberg), is one of many people who were there then and are still here on the Spring team now. Spring’s come a long way since then! Check out the blog itself. If you want to see the original blog in all of its early-2000s glory, it’s here on the Internet Wayback machine.

Read more