The Spring Blog

Engineering
Releases
News and Events

This Week in Spring - March 28th, 2017

Welcome to another installment of This Week in Spring! This week I’m in Omaha, Nebraska, speaking to customers and tonight I’ll be presenting at an event co-sponsored by the Omaha, JUG and the local Omaha, Spring Users Group, talking about reactive Spring. Don’t be shy, come out and say hi!
* Sébastien Deleuze just introduced the 1.0.0.M1 relese of extensions supporting using Project Reactor in the Kotlin language
* Spring REST Docs lead Andy Wilkinson just announced Spring REST Docs 1.2.0.RC1. Try it out now! For a good example of Spring REST Docs, scroll down and you’ll see a very nice one from a community member.
* Spring Cloud Data Flow contributor and all-around great human Thomas Risberg
just announced Spring Cloud Data Flow 1.2.M3
* last week, continuing the Spring Tips series, I looked at the various options for deploying Spring Boot applications to Servlet containers
* Going beyond the Spring Boot intelligent defaults? Need to debug to that next level? Join Nicolas Fränkel, Hybris as he takes us under the hood of Spring Boot on Thursday April 13th.
* it’s still not too late to register for tomorrow’s webinar with Michael Plod (InnoQ) on Strategic (Domain Driven) Design with Spring Boot
* Spring Cloud co-founder Spencer Gibb is at it again, this time working on a new Gateway project called Spring Cloud Gateway. This project is nowhere near finished or final, but now’s a great time to get the bits, kick the tires and feedback. Spencer’s been working hard adding all sorts of cool things, like request throttling.
* there are still some very interesting things that you can do with Netflix’s Zuul, too! If you want to learn more, check out the ever-expanding repository full of samples
* Jenn Strater did a really nice job demonstrating Spring RESTDocs in this example.
* Finally! a proposal to deprecate (but of course never absolutely remove) Java’s finalization behavior
* My training course, Cloud Native Java, is now available on Safari and for purchase.
* I liked the most recent installment of Pivotal Conversations which discusses the CRE program speared by Pivotal and Google to ensure that Pivotal Cloud Foundry on Google Cloud Platform delivers a Google-level of reliability
* Venkat Rangasamy has an interesting post on Production-Ready Microservices that talks about, but doesn’t focus on, Spring Boot
* I liked this Italian-language post by Federico Paparoni on using the Spring Boot Actuator for metrics
* Pivotal’s own Richard Seroter looks at using a single service registry to talk to coordinate both .NET and Spring Cloud-based Microservices
* I also liked this Federico’s Italian-language post on supporting CRUD with Spring Data REST and Spring Data JPA

Read more...

Webinar April 13th: Spring Boot Under the Hood

Speakers: Nicolas Fränkel, Hybris

With the Spring Boot stack you can kickstart your Spring project in a matter of minutes. For both developers using Spring and microservices adopters, Spring Boot has been a resounding success.

Favoring Spring Boot over the traditional Spring framework comes at a cost, you have to let Boot be in control and it might hurt when you decide to get back in the driving seat.

Come to this 60 minute webinar and discover how auto-configuration and the different flavors of conditionals work through the creation of a Spring Boot starter. You’ll come away with an understanding of Spring Boot internals, how to debug better, and be able to develop your own starter.

Read more...

Reactor Kotlin Extensions 1.0.0.M1 released

I am excited to announce the release of the first milestone of Reactor Kotlin Extensions, which provides Kotlin extensions for Reactor API.

It provides support for Kotlin types like KClass, takes advantage of Kotlin reified type parameters and provide various extensions to allow more expressive code. You can see bellow a quick comparaison of Reactor with Java versus Reactor with Kotlin + extensions.

Java Kotlin with extensions
Mono.just("foo") "foo".toMono()
Flux.fromIterable(list) list.toFlux()
Mono.error(new RuntimeException()) RuntimeException().toMono()
Flux.error(new RuntimeException()) RuntimeException().toFlux()
flux.ofType(Foo.class) flux.ofType<Foo>() or flux.ofType(Foo::class)
StepVerifier.create(flux).verifyComplete() flux.test().verifyComplete()
Read more...

Spring REST Docs 1.2.0.RC1

On behalf of everyone who contributed, it’s my pleasure to announce that Spring REST Docs 1.2.0.RC1 has been released and is available from https://repo.spring.io/milestone/.

What’s new?

A complete overview of what’s new in 1.2 can be found in the release notes. The following are some of the highlights.

Improved Asciidoctor integration

REST Docs now has a new module, spring-restdocs-asciidoctor, that makes it easier to use the generated snippets in your documentation. A new macro means that you can import multiple snippets for the same operation in a single line. This update to the samples shows the benefit of adopting the macro.

Read more...

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...