close

Getting Started With RSocket: Spring Boot Channels

Reading Time: about 6 minutes.
Practice Time: about 20 minutes.

If, like me, you’re still at the beginning of your RSocket journey, check out the motivations behind the RSocket protocol. This short but insightful document includes one message that resonates very strongly with me — ‘a mismatched abstraction increases the cost of developing a system.’

From a software design point of view, RSocket’s four interaction models offer a significant benefit. It means we can model our component-to-component communications using the correct interaction model for each use case. This more productive model could save you lots of time and energy when coding!

Read more

Spring Boot 2.3.0.M4 available now

On behalf of the team and everyone that contributed, I am pleased to announce that the fourth milestone of Spring Boot 2.3 has been released and is available from our milestone repository.

This release closes 99 issues and pull requests. Thanks to all those who have contributed.

Highlights of this milestone include:

For a complete list of changes and upgrade instructions, please see the Spring Boot 2.3 Release Notes on the wiki and the updated reference documentation.

Read more

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