Hi Spring fans! Welcome to another incredible installment of all that's fit to tweet, blog, record and print about Spring! It's been an insane week! Since our last installment I was in Paris, FR, for the epic Devoxx FR conference where I spoke at a meetup hosted by ZenikaIT, gave a workshop on Reactive Cloud Native Java and co-presented a talk on Reactive Spring with the one-and-only Juergen Hoeller. I jumped off stage and ran to the airport to board a flight leaving 150 minutes later headed back to the US!
Now, you may have heard that Pivotal, the company that leads and/or at least actively invests in a good many open-source projects - including Spring, Cloud Foundry, Apache Tomcat, Reactor, JUnit, Kubernetes, Redis, Micrometer and so many others besides - listed on the New York Stock Exchange on the 20th of April, 2018: we're a public company now!
So: I know I speak for the Spring team and Pivotal at large when I say that Pivotal's success is your success and that this wouldn't, couldn't, have been possible without you, dear community; THANK YOU!
It is a dream come true to work on open-source software that helps people build amazing things with such an amazing, curious, compassionate and passionate community. It's a big part of the reason I am happier every day than I was the day before; there's always something amazing happening!
Now, I wish all of you could've been there! Don't feel left out though; you can watch the ringing of the bell on the floor of the NYSE here.
There were some amazing tweets on the matter, too.
The bell-ringing at the NYSE was concurrent with the opening of the CFSummit happening in nearby Boston, MA, which live-streamed the IPO.
The "Squawk on the Street" show filming on the floor of the New York Stock Exchange and I just happened to be wearing my favorite "Spring" t-shirt so I walked over to see what's what and say hi! :D
We published an official thing about the IPO, as well. You might like that, too.
The IPO was last Friday, but by the weekend I was on a plane headed back to Europe. This week I'm in Mainz, Germany for the JAX conference where I'll be presenting, again, on "Reactive Spring" with Spring Framework lead and co-founder Juergen Hoeller, and on testing with Spring. Then, it's off to the DevOne conference in Linz, Austria where Juergen and I will again present! (How lucky am I??) I'll also be doing a longer workshop-like talk on the 27th of April in Vienna, Austria. Then, finally, it's off to Melbourne, Australia, for Voxxed Melbourne where, next week, I'll be co-presenting with Spring framework founder and Atomist CEO Rod Johnson. Do not miss this!
All that wonderful business aside, we have a lot to cover, so let's get to it!
- If you use a separate repository to store Spring Cloud Contract definitions, by adding a small test, you can sketch the graph of dependencies between your projects! See this issue for more
- This post looks at how to autoscale Cloud Foundry applications by investigating RabbitMQ queue depth. This is awesome; it's one less thing that needs to be in the book Cloud Native Java where we demonstrated how to do this exact thing using a Spring Cloud Data Flow RabbitMQ metrics source and a Cloud Foundry autoscaler sink
- Use CF Local to get a local Cloud Foundry-like development experience
- Spring IO lead and Spring Boot legend Andy Wilkinson has announced the Gradle dependency management plugin, 1.0.5.RELEASE, that is now available from Maven Central, Bintray, and the Gradle Plugin Portal. This maintenance release fixes a handful of issues. It was included in the recent Spring Boot 1.5.12 and 2.0.1 releases and is also a recommended upgrade for all other users of the plugin.
- The good Dr. Mark Pollack has just announced Spring Cloud Data Flow 1.5.M1. The new release is hot-sauce! It includes Spring Boot & Spring Cloud Stream 2.0 Support; nested splits for Composed Tasks, metrics Collector 2.0 M1; the stream application starters Darwin M1 release train has been included; and it has support for deploying to multiple Kubernetes clusters.
- There's an upcoming webinar on Spring Session, tomorrow, April 25! Do not miss this!
- Spring Cloud Stream Kafka Streams maestro Soby Chacko looks at the new support in this must-read blog post.
- Spring Data legend Christoph Strobl looks at the new MongoDB support for client-sessions and transactions and its impact in Spring Data MongoDB.
- Hi Spring fans! In this latest installment of Spring Tips we look at the many ways to use Redis, the distributed data-structure server, with Spring and Spring Data.
- Spring Tool Suite 3.9.4 updates to Oxygen.3.a, Java 10 and Pivotal tcServer 4.0.0.
- Spring Integration expert extraordinaire Artem Bilan announced Spring Integration for AWS 2.0.0.M2 and Spring Cloud Stream Kinesis Binder 1.0.0.M2
- InfoQ's Daniel Bryant has a nice post on the new Spring Cloud Stream release
- Piotr Minkowski has a nice post that looks at how to deploy Spring Cloud Microservices on Hashicorp's Nomad container scheduler
- Spring community legend Aboullaite Mohammed explores the "magic" behind Spring Boot's auto-configuration
- I joined the Pure Performance podcast, episode 60, by Dynatrace. In this discussion we talk about all things cloud-native and Java and monitoring. Enjoy!
- Jonas Hecht has a nice post on using Spring Boot and Vue.js together
- [The RabbitMQ Summit Call For Proposals]](https://rabbitmqsummit.com/) is now open, closing June 1
- This is an oldie-but-a-goodie: how to address eventual consistency for microservices using Spring AMQP and RabbitMQ
- Hat tip to Spring and Kotlin artiste Sebastien Deleuze for surfacing these two projects by Jordan Demeulenaere: Komponent for creating WebComponents, and Klient for generating multiplatform Kotlin HTTP clients from Spring MVC controllers
- JUnit 5.2 is almost here. Junit 5.2 RC1 was released today and contains only documentation changes compared to 5.2 M1. 5.2 GA is scheduled for next Sunday, April 29.
- Matt Raible's epic talk, Bootiful Development with Spring Boot and React, is now available online!
- The Baeldung blog has a nice post on the
@Lookup
-annotation and the dependency lookup mechanism in Spring Framework.
- Techcrunch has a nice post detailing some of the ways Cloud Foundry and Kubernetes have grown closer. The post looks at some of the things to come out of CF Summit last week.
- Our very own Toshiaki Maki has a quick-n-dirty example on Github of using the just open-source FoundationDB with Spring WebFlux.
- I loved the slides to Tomasz Nurkiewicz's talk on reactive programming (in this case, with Spring WebFlux)
- Hussein Terek has a nice post on using Spring Boot, Oracle, JPA (via Hibernate) together in this post
- Yitao Dong, program manager for Java on Microsoft's Azure cloud platform, introduces Spring Data Azure Cosmos DB which supports the Microsoft Azure multi-model NoSQL data store, Cosmos DB.
- I really liked the slides from Simon Basle's talk introducing Reactor
- Spring Cloud co-founder Spencer Gibb teases some of the fascinating possibilities for the Spring Cloud Consul integration now that Consul supports real service metadata. What do you think?
- As Dormain says in the tweet: "2018 is the year of the CloudFoundry in government. Cloud.gov is now a certified platform! More to come :D" 'Nuff said!
- This is an oldie-but-a-goodie; it's an explainer on the "Poutsma principle," named for Spring legend Arjen Poutsma (if you've ever used Spring, Spring MVC, Spring WebFlux, Spring WS, Spring Faces, the
RestTemplate
and a zillion other things, you've used his code!).
- The Register ("El Reg") have a nice article that looks at Project Riff, the open-source function-as-a-service platform from Pivotal that builds atop Kubernetes.
- Spring Cloud Finchley, the reactive release train for Spring Cloud, is coming!
- Spring Data mad-scientist Thomas Darimont has a really compelling Spring Boot 2.0 and Keycloak-based OAuth example on his Github account.
- I love tweets like this one which explains that RabbitMQ still powers Wunderlist - cool!