The Spring Blog

Engineering
Releases
News and Events

This Week in Spring - February 13th, 2018

Hi Spring fans! Welcome to another installment of This Week in Spring! This week I’ve been in Munich and Frankfurt, Germany, and Minneapolis, Minnesota, and it looks like i’ll be in New York City and San Francisco for the balance of the week.

We’ve got a lot to cover so without further ado so let’s get started.

Read more...

Spring Cloud Contract in a polyglot world

This article contains a short reminder of what Contract Testing is, how Spring Cloud Contract implements it, and how Spring Cloud Contract can be used in a polyglot world.

What is Contract Testing

In order to increase the certainty that our systems behave properly, we write different types of tests. According to the test pyramid the main types of tests are unit, integration, and UI. The more complex the tests, the more time and effort they require and the more brittle they become.

In a distributed system, one of the most frequent problems is testing integrations between applications. Let’s assume that your service sends a REST request to another application. When using Spring Boot, you can write a @SpringBootTest in which you test that behavior. You set up a Spring context, you prepare a request to be sent…​ and where do you send it? You haven’t started the other application, so you get a Connection Refused exception. You can try mocking the real HTTP call and returning a fake response. However, if you do that, you do not test any real HTTP integration, serialization and deserialization mechanisms, and so on. You could also start a fake HTTP server (for example, WireMock) and simulate how it should behave. The problem here is that you, as a client of an API, define how the server behaves. In other words, if you tell the fake server to return text testText when a request is sent to endpoint /myEndpoint, it does just that, even if the real server does not have such an endpoint. In short, the problem is that the stubs might not be reliable.

Read more...

Spring Integration for AWS 2.0.0.M1 and Spring Cloud Stream Kinesis Binder 1.0.0.M1

Dear Spring Community!

It’s my pleasure to announce two Spring Milestone releases for Amazon Web Services: Spring Integration for AWS 2.0.0.M1 and Spring Cloud Stream Binder for AWS Kinesis 1.0.0.M1.

Both milestones are available in the Spring Milestone repository and they can be consumed as maven dependencies:

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-aws</artifactId>
    <version>2.0.0.M1</version>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-stream-binder-kinesis</artifactId>
    <version>1.0.0.M1</version>
</dependency>
Read more...

Spring Cloud Finchley M6 is available

On behalf of the community, I am pleased to announce that the Milestone 6 (M6) of the Spring Cloud Finchley Release Train is available today. The release can be found in the Spring Milestone repository. You can check out the Finchley release notes for more information.

Notable Changes in the Finchley Release Train

Finchley.M6 is compatible with Spring Boot RC1. Many updates have been made for compatibility with RC1.

Spring Cloud Sleuth

The internals of Spring Cloud Sleuth were rewritten to use Brave. Please see the Migration Guide for more information.

Read more...

Spring Web Flow 2.5 RC1 is available

The first and only release candidate planned for Spring Web Flow 2.5 is now available from the Spring Milestones repository. The samples repository has been updated to use it.

This release provides an upgrade path to Spring Framework 5 along with Java 8, Servlet 3.1, Hibernate 5, Tiles 3, and JSF 2.2 as minimum requirements.

In this release “spring-js” has been merged with “spring-webflow” so there is no longer a separate “spring-js” module. As a result some configuration classes have changed packages. The “spring-js-resources” module is still available but as an optional module that must be included explicitly if needed.

Read more...

Spring Session 1.3.2 Released

This post was authored by Vedran Pavić

On behalf of the community I’m pleased to announce the release of Spring Session 1.3.2.RELEASE. This maintenance release contains numerous bug fixes and improvements.

Some of the highlights include:

  • #951 - SessionRepositoryFilter#changeSessionId does not copy the previous maxInactiveInterval into the new session

  • #983 - Optimize HazelcastSessionRepository write operations

  • #984 - Improve session event handling

You can find the complete details of the release in the changelog.

Read more...

Spring Cloud Edgware.SR2 Released

On behalf of the community, I am pleased to announce that the Service Release 2 (SR2) of the Spring Cloud Edgware Release Train is available today. The release can be found in Maven Central. You can check out the Edgware release notes for more information.

Notable Changes in the Edgware Release Train

Spring Cloud Commons

Issues

Spring Cloud Contract

Issues

Spring Cloud Config

Issues

Spring Cloud Consul

Issues

Spring Cloud Netflix

Issues

Spring Cloud Bus

Issues

Spring Cloud Sleuth

Issues

The following modules were updated as part of Edgware.SR2:

Read more...

Spring Cloud for Google Cloud Platform 1.0 Milestone 2 Available

Dear Spring Community!

It’s my pleasure to announce today a new project in the Spring Cloud family. It’s called Spring Cloud GCP and its goal is to bring into your applications well-known Spring patterns and Spring Boot conventions for consuming Google Cloud Platform services.

The project currently is in version 1.0.0.M2 and is available from the Spring Milestone Repository:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-gcp-dependencies</artifactId>
           <version>1.0.0.M2</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>
Read more...

Spring Data Lovelace M1 released.

On behalf of the Spring Data team I’m happy to announce the first milestone of the Lovelace release train. The release ships over 200 tickets fixed! The most important new features are:

  • JPA 2.2 result streaming.
  • MongoDB Validator and JsonSchema support.
  • Support for MongoDB Change Streams.
  • Neo4J OGM 3.1 upgrade.
  • Exist/Count projections as well as a fluent template API in Spring Data for Apache Cassandra.
  • Spring Data for Apache Geode added JCache Annotation support.
  • Query By Example for Redis repository abstractions.
  • Spring Data REST offers more fine grained method exposure mechanisms.
Read more...

This Week in Spring - February 6th, 2018

Hi Spring fans! Welcome to another installment of This Week in Spring! This week I’m in Stockholm, Sweden, for the epic (and snowy) JFokus event, then it’s off to Frankfurt, Germany for the OOP show. If you’re at either event, don’t hesitate to reach out and say hi on Twitter (@starbuxman)!

Read more...