close

Spring Boot for Apache Geode & VMware GemFire 1.4.0-M2 and 1.3.3.RELEASE Available

On behalf of the Spring, Apache Geode and VMware Tanzu GemFire communities, is it is my pleasure to announce the release of Spring Boot for Apache Geode & VMware GemFire (SBDG) 1.4.0-M2 & 1.3.3.RELEASE.

SBDG 1.4.0-M2 builds on:

  • Spring Boot 2.4.0-M2

  • Spring Framework 5.3.0-M2

  • Spring Data for Apache Geode & VMware GemFire (SDG) 2020.0.0-M2 (Ockham-M2/2.4.0-M2)

  • Spring Session for Apache Geode & VMware GemFire (SSDG) 2020.0.0-M1 (2.4.0-M1)

  • Spring Test for Apache Geode & VMware GemFire (STDG) 0.0.18.RELEASE

SBDG 1.3.3.RELEASE builds on:

  • Spring Boot 2.3.3.RELEASE

  • Spring Framework 5.2.8.RELEASE

  • Spring Data for Apache Geode & VMware GemFire (SDG) Neumann-SR3 (2.3.3.RELEASE)

  • Spring Session for Apache Geode & VMware GemFire (SSDG) Dragonfruit-RELEASE (2.3.0.RELEASE)

  • Spring Test for Apache Geode & VMware GemFire (STDG) 0.0.18.RELEASE

You can review the Version Compatibility Matrix for complete details (Scroll the table to the right to see all dependencies).

The best way to get started, building Spring Boot applications using Apache Geode is with the Spring Initializer at start.spring.io. Just click on this link to get started.

What’s New

SBDG 1.4 M2 adds dedicated support for Asynchronous (Write-Behind), Inline Caching!

By applying the Inline Caching pattern to your Spring Boot applications, Apache Geode will Read-Through on cache misses and Write-Through (sync), or Write-Behind (async), on cache updates, automatically, without requiring you to do anything special in your application.

You should use asynchronous, Write-Behind Inline Caching if strong consistency is not required and you desire better throughput.

Tip
SBDG already supported Synchronous (Read/Write-Through) Inline Caching. Also see the associated Sample Guide and Example Code.
Tip
SBDG also supports the Look-Aside, Near and Multi-Site Caching patterns.
Note
When most people think of caching, they are technically referring to the Look-Aside Caching pattern. But, did you know, there are several patterns of caching: Look-Aside, Near Caching, Inline Caching (Sync & Async) and Multi-Site Caching. Do not confuse the "pattern" of caching (how it is applied) with the "use case" for caching (what it is used for), e.g. (HTTP) Session state caching. Yes, there are many more "uses" for caching, but very specific patterns with architectural pros and cons that are applicable to a use case or not. "The more you know…​"

Both SBDG 1.4 M2 and 1.3.3.RELEASE include the new spring-geode-bom module. Given SBDG consists of the following modules:

  • spring-geode-starter

  • spring-geode-starter-actuator

  • spring-geode-starter-session

  • spring-geode-starter test

By using the new Maven BOM file, you can collectively and consistently manage the versions of SBDG’s modules required by your application simply by declaring dependency management in your Spring Boot Gradle or Maven POM project build files.

For example:

<properties>
    <spring-geode.version>1.4.0-M2</spring-geode.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.geode</groupId>
            <artifactId>spring-geode-bom</artifactId>
            <version>${spring-geode.version}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.geode</groupId>
        <artifactId>spring-geode-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.geode</groupId>
        <artifactId>spring-geode-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.geode</groupId>
        <artifactId>spring-geode-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

We will be requesting changes to Spring Initializer to declare the new spring-geode-bom Maven BOM when generating Spring Boot Gradle/Maven projects using Apache Geode.

Other notable changes included in this release:

  • Updated the "Getting Started" Sample Guide with a Section called "Matching Client/Server Versions" under "Run the Application in a Cloud Platform Environment" to help users navigate the version compatibility requirements of Spring Boot, Apache Geode, VMware/Pivotal GemFire and Pivotal Cloud Cache (now known as VMware Tanzu GemFire for VMs - BOSH)…​ phew!

  • Included a new Sample Guide and Example Code on Security, i.e. securing your GemFire/Geode client and server with Spring Boot when running in both local and managed (e.g. cloud platform) environments.

See the changelog for complete details.

What’s Next

We will probably round out the SBDG 1.4 releases up to GA with another Sample Guide and Code on Asynchronous (Write-Behind) Inline Caching and double down on making the existing features more robust and reliable.

1 of the projects other overarching goals is to make it hard to do the wrong thing. We still have a ways to go, but each step along the way I am more confident things are moving in the right direction.

Conclusion

As always, feedback and contributions are welcomed and appreciated.

comments powered by Disqus