Hi Spring fans! This week I’m in Redmond, hanging out with our friends and Pivotal partner Microsoft talking about Cloud Foundry on Microsoft Azure. As you may know, Microsoft’s Azure IaaS platform is the #2 most widely used cloud and it’s growing! It’s got more datacenters than the other two cloud vendors in more regions (including in Germany and China!) and a huge raft of services that support both Windows and Linux operating systems. There’s so much exciting stuff coming up including Azure Stack, which runs Azure on-premise, and the amazing integration between Azure and PCF. I’m looking forward to hearing even more about Microsoft Azure this week at CF Summit in Santa Clara, which is where I’ll be on Wednesday and then it’s off to Utah for the Utah JUG. Come out, join me, and say hi!
The Spring Blog
Welcome to another installment of This Week in Spring! This week I’m in Malaysia and then Singapore where I’ll spend time with customers in the financial services world and speak at the Singapore Spring User Group on June 8th. If you’re around, come out or say hi!
- Spring IO Platform lead and Spring Boot ninja Andy Wilkinson just announced the Gradle Dependency management plugin 1.0.3
- Spring web guru has just announced Spring Web Flow 2.4.5
- the Baeldung blog has a nice look at Spring Boot and Kotlin
- Ranga Karanam put together a nice look at building web applications with Spring Boot
- I liked this blog offering tips and tricks for using the compile-time annotation processor Lombok in production application. Lombok is not a Spring project, obviously, but it’s easy to use with Spring and it’s available on the Spring Initializr [as a dependency].
- I reallly enjoyed some of the replies in the Quora post When would you choose Couchbase vs MongoDB vs Redis
- Cloud Foundry is dropping Consul from its internal implementation. This design doc / post-mortem looks at why, in this particular case, it makes sense for Cloud Founddry to move Consul out of the stack
- The Baeldung blog also updated their Java 9 Reactive Streams content, which is as-always a worthy read
- I liked this talk by Martin Fowler on the different uses of messaging
- Pivotal’s very own Matt Stine put together a nice read, What’s your Decomposition Strategy?
- interesting analysis from Bob Evans at Forbes: Sorry Amazon, but Microsoft is the World’s #1 Cloud Vendor
- I loved this Dreamworks case-study
- Coda Hale (who, among many things, created the DropWizard Metrics library) put together a great read introducing Little’s Law - an approach to modeling system performance - and his new library, usl4j.
- Pivotal’s own Joshua McKenty put together a nice piece on how to diversify a cloud portfolio.
A minor maintenance release version 2.4.5 for Spring Web Flow is now available for use.
The release includes an important security fix for vulnerability report CVE-2017-4971. Please review the report details and upgrade.
- Spring Security ninja Joe Grandja has just announced the new Spring Security OAuth 2.1.1 and 2.0.4
- Spring Cloud Data Flow engineer Gunnar Hillert just announced Spring Cloud Data Flow 1.2.1
- Spring Cloud co-founder Spencer Gibb just announced Spring Cloud Dalston SR1
- I liked Jonas Hecht’s post looking at how to run Spring Boot on Docker Windows
- I loved this post from RedHat engineer Sébastien Blanc on using Keycloak, their OAuth-aware identity provider, with Spring Boot applications. Keycloak is also supported on the Spring Initializr.
- The Docker blog also has a nice post by Sophia Parafina on running a Spring Boot application in a Docker container
- The Pivotal engineering blog has a nice post by Ian Fisher on the must-know Spring Boot annotations
- the IBM DeveloperWorks blog has a nice post on building Spring Boot applications
- I really liked this post by Aboullaite Mohammed on using the Spring Boot Actuator
- the MemoryNotFound blog has a nice post on using the
@ConfigurationPropertiesannotation in a Spring Boot application.
- Grygoriy Gonchar looks at the implications for doing reactive JDBC (even if it’s just a facade around fundamentally blocking APIs) with Spring 5’s Reactor support.
- The All and Sundry blog has a nice look at writing a ratio-aware proxy using Spring Cloud Netflix Zuul to ease the migration to a new service
Welcome to another installment of This Week in Spring! This week I’m in Amsterdam, NL and Essen, DE, talking to customers about cloud-native transformation. We’ve got a lot to cover so let’s get to it.
- Spring Tool Suite lead Martin Lippert just announced a preview of Concourse Pipeline and Cloud Foundry manifest editing support releases as a language server. These language servers can be used by any IDE or text editor that supports them, including in this case Microsoft’s Visual Studio Code and later STS itself.
- Spring Cloud Stream ninja Soby Chako just announced Spring Cloud Stream.SR2
- Simon Baslé just announced the Reactor Bismuth release train M1
- Stéphane Nicoll just announced Spring Boot 2.0M1! It’s finally here! Get the bits of the first major release towards a reactive Spring Boot 2.0. There’s so much good stuff, including an updated Gradle plugin, relaxed binding improvements, major dependency upgrades and so much more!
- I think this article by Paweł Chudzik on poor man’s batch solutions - iterating over large datasets - was very interesting. The conclusion is obvious: if you want to scroll through a large amount of records then use a
java.util.Stream<T>finder query in your Spring Data repository. That’s one obvious conclusion. May I also humbly recommend that you look at Spring Batch and have a rich man’s batch at poor man’s prices? :)
- Want easier handling form encoded JSON in Spring MVC? Vote for this issue!
- I liked this walk through on how to implement a forgot password flow with Spring Boot on the Code by Amir blog by Amir Boroumand.
- Amir Boroumand also has a nice walkthrough on creating a REST API with Spring Boot
- Our friends at JDriven are doing what appears to be an awesome (though I think Dutch-language) on MQTT and Spring Cloud Stream and Spring Cloud Data Flow
- I liked this fairly approachable look at how to deploy Hashicorp Vault to Cloud Foundry by our very own Toshiaki Maki.
- Want a bit of insight into what the future of Serverless looks for Spring? Check out the slides to the good Dr. Dave Syer’s presentation on Spring Cloud Function at Spring IO
- WeaveWorks’ Scope is now available and supports Cloud Foundry
- I liked this rant from Steve Yegge on why Kotlin is a nice language. Interesting reading!
Welcome to another installment of This Week in Spring! This week I am in Munich for the Spring Meetup; Berlin for OSDC; Krakow for Geecon; Barcelona for Spring I/O, and Eindhoven for NextBuild. If you’re around, say hi.
As usual, we’ve got a lot to cover so let’s get to it!
- Dr. Mark Pollack just announced Spring Cloud Data Flow 1.2GA!, including the server editions for local, Kubernetes, YARN and Cloud Foundry. This new release is packed with good stuff. I particularly like the support for composed tasks, which lets me orchestrate a flow of tasks as a cohesive unit-of-work. This is ideal for complex ETL pipelines. It even includes support for sequential, parallel, and conditional sequence transitions. And, of course, all of this can be mixed-and-matched. Previously, to get this kind of power, you had to manually wire up remote partitioning in a Spring Batch job. Or setup some very complicated Spring Integration flow. And neither would’ve given me everything this does. It also includes support for better runtime visibility into what is happening, OAuth support, role-based access, and much more. This is a very cool release! Get the bits and try it out now!
- Spring Boot 2.0M1 has just been released!
- Spring Batch 4 keeps chugging along! The new milestone includes updates to the Java configuration API (new builders!) and dependdency updates.
- Spring REST Docs lead Andy Wilkinson has just published a maintenance release
- Spring Security lead Rob Winch just announced the first Milestone of the new 5.0 line. The new release includes OAuth 2.0 and OpenID connect 1.0 support as well as reactive integration!
- never one to rest, Rob also announced Spring Session 2.0 M1 which integrates with Spring Framework 5.
- there are exciting changes a brewin’ in the new Pivotal Spring education. Paul Chapman has the details here
- Spring Data ninja Mark Paluch just announced Spring Data Kay M3. This release includes a raft of updates to the various data stores and improved support for reactive tailable cursors in MongoDB, among other things.
- check out this example on how to introduce Zipkin into a traditional XML Spring app
- Cereebro, a fine microservice dashboard that works with Spring Cloud, has just reached 1.0
- BOSH, which lets you deploy and manage services, has just gotten considerably simpler!
- check out this handy Reactive Thymeleaf example
- I liked this presentation which introduces consumer driven contract testing
- Alex Soto is back with a second installment on how to test Spring Boot applications using Arquillian
- This Tensorflow integration for Spring Cloud Data Flow looks awesome
- Not strictly Spring specific, but I liked this resource on how and where to apply Kotlin on the server side
It’s my pleasure to announce that Spring REST Docs 1.2.1.RELEASE is available from Maven Central, JCenter, and our release repository. My thanks to everyone who contributed to this release by reporting bugs and opening pull requests.
This maintenance release includes a handful of bug fixes and documentation improvements. It is a recommend upgrade for all Spring REST Docs users.
It has been almost 10 years now since I taught my first Core Spring class. At that time almost everything was XML and configuring JPA or Spring Security, for example, could be a lot of hard work. Spring has matured a great deal in the meantime with component-scanning, Java Configuration and Spring Boot making it much more fun to use. And the number of Spring Projects has increased considerably.
Pivotal Training continues to enhance our Spring curriculum and introduce new courses - including Spring Boot Developer and Spring Cloud Services. I have provided an overview of these courses and some of the newest features below. Most importantly, how you obtain Certification has changed.
- Spring Framework 5 RC1 is now available!
- InfoQ has a nice post on the new Spring Vault release
- Spring Integration lead Gary Russell just announced Spring AMQP 2.0M4 is now available
- Spring Cloud ninja Ryan Baxter just announced Spring Cloud Camden SR7 has been released
- I liked this short-but-sweet look at the Pivotal Cloud Cache on Pivotal Cloud Foundry, in terms of a Spring Boot application
- Periodic reminder: Spring Cloud Contract helps you solve the problem of integration testing distributed systems- don’t sleep on this!
- Spring ninja Stéphane Nicoll announced that there is now a starter for Reactive Redis support on the Spring Initializr
- I really enjoyed this discussion of the benefits of self-contained services (as compared to microservices) on InfoQ
- Kamala Dasika has put together a nice look going upstack when applying the 3 Rs of security
- the new Spring Cloud Data Flow page has a very convenient getting-started experience
- Praneeth Ramesh did a nice job introducing Cloud Foundry for developers
- I liked this post by Michael Simons digging into what makes a Spring Boot starter
Welcome to another installment of This Week in Spring! This week I’m in Perth, Australia, for the amazing YOW! West conference, talking to developers about building cloud native Java applications. If you’re around, say hi. As usual, we’ve got a lot to cover so let’s get to it!
I’m super excited about our first Spring Days event, on May 30-31, in Chicago. I’ll be there along with other Spring gurus like Eddu Melendez, Anupama Pradhan, and Michael Minella. I hope you’ll join us!
- Spring IO lead Any Wilkinson has announced Spring IO Platform Athens-SR5. He also announced Spring IO Platform Brussels-SR2
- Spring Session lead Rob Winch just announced Spring Session 1.3.1
- Spring Integration lead and all around great human Gary Russell just announced Spring for Apache Kafka 2.0M1
- Spring Cloud ninja Glenn Renfro just announced Spring Cloud Task 1.2.0
- I loved (in case you were unclear about the sentiment I have for this post!) this look at real time sentiment analysis with TensorFlow and Spring Cloud Data Flow
- the results of this months’ ZeroTurnaround web framework report are not too surprising: Spring MVC is in a distant lead, then JSF and GWT, then Spring Boot.
- this post, “Bootiful Development with Spring Boot and Angular,” on the Okta blog, is another gem by our buddy Matt Raible.
- Check out the ZT (short for ZeroTurnaround) Live replay for an epic look at Reactive Spring by Spring WebFlux engineer Sebastien Deleuze.
- Spring Cloud engineer Jon Schneider is cooking up some very cool stuff, and it might be an indication of future direction. Who knows!? But you should definitely check out his project, Spring Metrics
- My buddy Matt Raible and I looked at building progressive web applications with Spring Boot and Angular at our recent two-parter talks at Devoxx France 2017: part 1 and part 2. This was so much fun! Merci mille fois, Devoxx France! Thank you Devoxx France for letting us do these sessions!
- I did an interview with the amazing Software Engineering Daily Podcast on Spring Boot. It was a lot of fun being on there. I listen to the podcast regularly and really appreciate the opportunity!
- I liked this post by Alex Soto on using Arquillian to test Spring Data applications.
- this is an interesting post on discovering an microservices exposed port in a Docker container. Seems.. painful. I’m glad it’s so thoroughly documented and articulated here, though! Good stuff!