close

Spring Batch 4.2.2 and 4.1.4 available now!

I am pleased to announce the release of Spring Batch 4.2.2 and 4.1.4 with bug fixes and documentation updates. Please find the complete list of changes in the release notes: 4.2.2 and 4.1.4.

As we announced earlier, version 4.1.4 is the last release of the 4.1 line. Please upgrade to version 4.2.2 at your earliest convenience as this is the primary active branch for the moment and which will be supported until the end of 2020.

The next feature release will be 4.3, with a GA planned for October 2020, aligned with Spring Framework 5.3 and Spring Boot 2.4. This release is expected to be the last feature branch of Spring Batch 4.

Read more

Spring Tips: Manipulating the Platform with the Spring Cloud Cloud Foundry Java Client Autoconfiguration

Hi, Spring fans! Welcome to another installment of Spring Tip! In this installment, we look at something near and dear to my heart (and my @author tag!) - the Cloud Foundry Java client auto-configuration.

What is Cloud Foundry?

Cloud Foundry is an open-source PaaS. It has a lot of flexibility. I’m in love with it if I’m honest. It’s simple. I love things like it that give me flexibility without requiring too many sacrifices at the altar of the YAML deity. It’s an opinionated platform as a service. You give the platform an application, and it deploys them. You upload a spring boot app, and it figures out that the app is a standalone, self-contained, so-called “fat” .jar and it downloads the required JDK, configures the necessary amount of memory and then creates a filesystem with your app, the JDK, the right configuration, and then turns it all into a container.

Read more

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