The Spring Blog

Engineering
Releases
News and Events

Spring Cloud Data Flow 1.2 M3 released

On behalf of the team, I am excited to announce the release of the third milestone of Spring Cloud Data Flow 1.2.

Note: A great way to start using this new release(s) is to follow the release matrix on the project page, which includes the download coordinates and the links to the reference guide.

Highlights of the 1.2 M3 release:

Companion Metadata Artifact

As part of the long awaited feature to improve access to app properties info for both shell and Dashboard, we are introducing a new optional artifact for both Stream and Task applications - we are calling it the “companion metadata artifact”. Through this functionality, the streaming and task applications and their properties are first-class citizens for both Docker and Maven based application artifacts.

Read more...

This Week in Spring - March 21st, 2017

Welcome to another installment of This Week in Spring! This week I’m visiting with customers and am presenting at the first Devoxx US event in San Jose, California. If you’re around, don’t hesitate to stop by and say hi at the Pivotal booth on the expo hall.

As usual, we’ve got a lot to cover so let’s get to it!

Read more...

Spring Cloud Dalston RC1 Released

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

Notable Changes in the Dalston Release Train

Vault

Spring Cloud Vault Config is a new project that provides client-side support for externalized secret management in a distributed system via Hashicorp Vault.

Config Server

Config Server now has support for multiple backends via a Composite pattern. This allows for combinations of backend types that was not possible before, such as: Vault and git or multiple git backends. Authentication to git repositories hosted by AWS Codecommit is now supported. In the previous (Camden) release, Hashicorp Vault was already added as a backend to Config Server to go along with the VCS based backends.

Read more...

Spring Cloud Task 1.2.0.M2 is now available

We are pleased to announce that Spring Cloud Task 1.2.0.M2 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.2.0.M2 offers the following features:

  • Upgrade to Spring Cloud Dalston RC1 and Spring Boot 1.5.2 - This release is compatible with the Spring Cloud Dalston RC1 release.

  • Fixed invalid data type bug in Oracle Script.

  • Fixed bug in MySQL migration scripts so that they will work on file systems that are case sensitive.

  • Updated Spring Cloud Task samples to use Spring Boot 1.5.2.

  • Updated documentation to discuss unit testing and notes on using Transaction Managers.

Read more...

Spring Cloud Stream Chelsea.RC1 released

On behalf of the team, I am pleased to announce the release of Spring Cloud Stream Chelsea.RC1. Spring Cloud Stream Chelsea.RC1 is available for use in the Spring Milestone repository, and a detailed description of its features can be found in the reference documentation. For information about artifacts and a complete list of changes, please consult the release notes.

What is new?

Here’s a summary of the major new features and improvements brought by the new release:

Dispatching capabilities added to StreamListener

We’ve added support for dispatching messages to multiple @StreamListener methods registered on an input channel, based on a SpEL-based condition. This allows more flexibility in writing message-driven microservices, especially for DDD/ES/CQRS scenarios, where different types of events can be dispatched to their handling methods directly.

@EnableBinding(Sink.class)
@EnableAutoConfiguration
public static class {

    @StreamListener(target = Sink.INPUT, condition = "headers['type']=='customer'")
    public void handleCustomerEvent(@Payload CustomerEvent customerEvent) {
       // handle the message
    }

    @StreamListener(target = Sink.INPUT, condition = "headers['type']=='order'")
    public void handleOrderEvent(@Payload OrderEvent orderEvent) {
       // handle the message
    }
}

Metrics

Spring Cloud Stream has added an additional module that enables the export of Spring Boot metrics on a dedicated channel. You can now collect metrics from your applications by simply adding the module on the classpath and providing a target destination as described in the reference documentation. By default, the module exports Spring Integration metrics (including bound channel metrics), but other metrics can be added as well. This enables first class support for traffic monitoring in Spring Cloud Stream applications.

Schema improvements: search and caching

New features for schema support include schema searching and client-level caching, the latter adding significant performance improvements to the serialization support.

RabbitMQ custom infrastructure support

The RabbitMQ binder now supports customizing the types of destinations and their attributes, including support for Direct Exchanges and TTL settings for messages.

Provisioning SPI

Starting with this release, Spring Cloud Stream introduces a new provisioning SPI, abstracting the creation and configuration of destinations (topics, exchanges, queue) on the target brokers. This allows better separation of concerns between the infrastructure management and messaging aspects of a binder.

Read more...

Spring Vault 1.0 RC1 is now available

On behalf of the community, I am pleased to announce Spring Vault 1.0 RC1.

The artifacts are available in the Milestone repo.

Spring Vault includes 15 fixes, improvements and dependency upgrades.

Here’s a short-list of the most important features shipping with the release:

  • Support for renewable @VaultPropertySource with credentials rotation
  • Reshaping APIs dropping VaultClient and using RestTemplate instead
  • Added EnvironmentVaultConfiguration for simplified configuration without the need to create a derived configuration class.
Read more...

Webinar: Strategic (Domain Driven) Design with Spring Boot

Speaker: Michael Plöd, InnoQ

This talk will focus on one of the most precious parts of Domain Driven Design, the concept of Strategic Design, as well as Bounded Context, the Context Map and the patterns that are being documented in the Context Map.

An explanation of these principles as well as practical usage scenarios such as migrating a monolithic landscape to microservices is planned for discussion. And, using a hands-on approach, we will demonstrate the concepts surrounding Strategic Design with an application landscape of various Spring Boot Applications

Read more...

This Week in Spring - March 14th, 2017

Welcome to another installment of This Week in Spring! This week I’m in Chicago on business and preparing for next week, where I’ll be at the first Devoxx US event, ever!. I hope to see you there!

Read more...