The Spring Blog
Hi Spring fans! Welcome to another installment of This Week in Spring! This week I’m in Atlanta, GA, at DevOps Days Atlanta, and Boston for the Agile Tech Alliance conference. If you’re around for either I’d love to see you - say hi!
As usual, we’ve got a lot to cover so let’s get to it!
- The WebFlux functional reactive support in Spring Framework 5.0 is really catching on! I particularly enjoyed this post called Spring: Your Next Microframework
- Baeldung has a great post introducing WebFlux Functional Reactive Endpoints
- Jonathan Borenstein put together a simple demonstration looking at building functional REST services with Spring Framework 5.0
- Hurray! The Spring Cloud Dalston release is now GA! Get the bits and try it out! This release is packed with great new stuff!
- Spring Cloud Task ninja Glenn Renfro just announced Spring Cloud Task 1.2.0.RC1
- Spring Cloud Stream lead Marius Bogoevici just announced Spring Cloud Stream Chelsea GA
- Spring Data lead Oliver Gierke just announced Spring Data Kay M2 with lots of improvements and bugfixes! Get it while it’s hot!
- last week I concluded season 2 of the Spring Tips series. Read on for a review of the installments from the last 11 episodes and more!
- Spring Cloud Vault lead Mark Paluch just announced Spring Cloud Vault 1.0
- I did a podcast with my buddy and colleague Michael Coté on enabling microservices with devops. Or something.
- periodic reminder that SDKMAN! is awesome and you can use it to install Spring Boot:
sdk install springboot
- Using the JVM? (I sure hope so!) You might care about the discussion of the deprecation of
- Tangent: ZeroTurnaround put out a great cheat sheet covering some tips-and-tricks with
- the Java Pub House podcast has a nice interview with Spring Batch and Spring Cloud Task lead Michael Minella
- Łukasz Monkiewicz put together a nice post on request validation with Spring Boot
- Friendly remminder: the goal behind microservices, cloud-computing, agile and everything else you’ll hear Pivotal talking about is, ultimately, to get to continuous delivery, some of the tenants of which are nicely explained here
- Lars Trieloff, from Adobe, put together a very cool post discussing the paradigm shift in REST vs technologies like webhooks, where you’re still doing REST but they become more like topics in a messaging architecture
- I love this post, RabbitMQ: My Alternative ServiceBus for Windows Server
- Speaking of RabbitMQ: have you seen the new RabbitMQ website? It’s dynamite!
- Pivotal Cloud Foundry now has built-in support for durable persistence
- I liked this writeup of Neoj chief scientist Jim Webber’s introduction to how Neo4j achieves cluster consensus
- The Cloud Technology Partners podcast had a great interview with Pivotal’s Richard Seroter looking at the future of Cloud Foundry
- JaxEnter has a great German-language survey on microservices trend](https://jaxenter.de/microservices-trends-55937)
- Baeldung also has a great post on using the
@JsonComponentannotation with Spring Boot
We are pleased to announce that Spring Cloud Task 1.2.0.RC1 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.
- Upgrade to Spring Cloud Stream Chelsea GA.
closecontext.enabledas to match the Spring Boot style for enabled properties.
- Task name can be set when creating a
TaskExecutionexternally, allowing the launcher to set the name in a persistent manor.
OrderedInterface to Task Events and Batch Job Events so the user can establish when task or batch events are emitted from their Spring Cloud Task application.
- Cleaned up Spring Cloud Task dependencies.
- Update default task name creation to prevent conflicts with JMX.
On behalf of the community, I am happy to announce the general availability of the Spring Cloud Stream Chelsea release train. For this release train, the first general availability release is Chelsea.SR1, which fixes a number of issues over Chelsea.RELEASE (all within the scope of the metrics export feature). Chelsea.SR1 is also included as part of Spring Cloud Dalston.RELEASE.
The new release is available in Maven Central, and a detailed description of its features can be found in the reference documentation. For information about artifacts and most recent changes, please consult the release notes, as follows:
On behalf of the Spring Data team, I’d like to announce the availability of the second milestone of the release train Kay. The release is an important step towards a second generation of Spring Data.
We’ve upgraded the majority of the codebase to Java 8, now also embracing e.g.
Optional in method signatures. This mostly affects internal SPIs but also leaks into user code, especially in
CrudRepository. The support for reactive Spring Data repositories has been extended to Couchbase (Thanks, Subhashni!), the Redis module has a reactive template API now. The release also ships support for
IsNotEmpty for derived queries and implementaitons of those for MongoDB and JPA. The aggregation framework in MongoDB now also supports streaming results.
Hi Spring fans! We’ve now finished two seasons - 11 episodes and a recap post each - of Spring Tips. I’m going to take a little while to dream up some more content and, before you know it, we’ll be back at it again! I’m always interested in hearing proposed topics so if you have some, please, by all means, shout it out loud to me on Twitter (@starbuxman) or by email ([email protected]).
The motivations for me in doing these Spring Tips are:
- revisit traditional topics in light of Spring Boot and
- highlight parts of the amazing Spring ecosystem that, for one reason or another, don’t get enough attention.
On behalf of the community, I am pleased to announce that the General Availability (RELEASE) of the Spring Cloud Dalston Release Train is available today. The release can be found in Maven Central. You can check out the Dalston release notes for more information.
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 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.
On behalf of the community, it’s my pleasure to announce the general availability of Spring Vault 1.0 – the very first GA release of Spring Vault after almost a year of development.
The artifacts are available from Maven Central and Bintray.
<dependency> <groupId>org.springframework.vault</groupId> <artifactId>spring-vault-core</artifactId> <version>1.0.0.RELEASE</version> </dependency>
The release ships more than 50 tickets fixed in total. Here’s a very truncated list of the most important features shipping with the release:
Welcome to another installation of This Week in Spring!
- Spring Integration ninja Artem Bilan just announced Spring Integration 5.0.M3. The new release includes an integration test framework, speed improvements, support for the Spring 5 reactive
WebClient, retroactive restoration of file trees when using the (S)FTP and AWS S3 inbound adapters, a smarter SOAP web-services gateway, and much more.
- Spring Integration lead Gary Russell just announced Spring for Apache Kafka 1.2.0 and 1.1.4
- Andy Wilkinson just debuted a look at the new Gradle Spring Boot 2.0 plugin
- in last week’s Spring Tips I looked at how to standup a Spring Cloud Security-powered OAuth auth service
- Spring AMQP lead Gary Russell just announced Spring AMQP 2.0.0M3, packed with new features supporting testing, smarter handling for
nullmessages, and so much more.
- Are you going to be at not-to-miss OSCON event in Austin, TX? We’d love to see you! I’ll be there, too!
- I enjoyed revisting this video from the Cloud Foundry launch event. My memory is hazy, but that event - I think - was April 11th, and uploaded on April 12th. Either way, happy birthday Cloud Foundry! You’ve changed the world with style.
- Jared Ruckle has a great look all the new features in PCF 1.10 - check it out!
- if you want to learn more about our thinking about taking Cloud Foundry to market, you’ll love this a16z podcast with one of Pivotal’s visionaries, James Watters
- I liked this quick look by Gaurav Rai Mazra at using Spring Data JPA with an embedded database
- Andreas Falk has a nice article on securing Spring and Angular.js applications
- the Baeldung site has done yet another very interesting look at the trends in Java, pointing again to the continued growth of Spring Boot and Java 8 - good news!
- just a friendly reminder, Alibaba uses Spring throughout and AliExpress, which serves 100+ million uses, is using Spring Boot and Spring Cloud
- I hope you’ll join me and many others at Voxxed Days Singapore
- Alex Falappa hints at some of the very cool new support for Apache NetBeans
- Stefan Rempfer put together a nice example of using Spring Cloud Zuul with Vaadin
- I love this blog by Robert Kapala on how they migrated their investment bank to Spring Boot
- Jonas Hecht put together a nice post on running Spring Boot applications on Windows using Ansible
We are pleased to announce that these maintenance releases of Spring for Apache Kafka are now available, 1.2.0.RELEASE and 1.1.4.RELEASE.
These versions include several bug fixes and improvements, as well as introduce support for KStreams.
They are functionally equivalent; the 1.2.0.RELEASE is based on the 0.10.2.0
kafka-clients jar and 1.1.4.RELEASE can be used with 0.10.0.x and 0.10.1.x.
While 1.1.4.RELEASE will work at runtime with a 0.10.2.x client library, some breaking changes in the embedded kafka API means that the embedded kafka Junit
spring-kafka-test will not work and 1.2.0.RELEASE is required for that.