Hi Spring fans! What a wild-n-crazy month it's been! The beginning of the year is a time for celebration for many reasons not least of which is because we mark off another year in "This Week in Spring," the weekly chronicle of all things in Springdom that I maintain over at the Spring blog, from which I pull most of the content for these monthly This Month in Spring roundups.
I've been making good progress on my Reactive Spring book, too. Follow @ReactiveSpring for more.
January was the first full month of my new podcast, A Bootiful Podcast, which I hope you'll subscribe to on Soundcloud, iTunes, or wherever fine podcasts are downloaded. Follow @BootifulPodcast for more.
January also saw my recent series introducing Spring for Microsoft Azure come to completion. Here is every installment of the series for Microsoft Azure:
- Bootiful Azure: Taking Your First Steps with Microsoft Azure (1/6)
- Bootiful Azure: SQL-based data access with Microsoft SQL Server (2/6)
- Bootiful Azure: Global Scale Data Access with CosmosDB (3/6)
- Bootiful Azure: Integration with Azure Service Bus (4/6)
- Bootiful Azure: Object Storage Service (5/6)
- Bootiful Azure: To Production! (6/6)
I also did a similar eight part series on using Spring with Google Cloud Platform a while back. Check that out here. There are eight posts in the series. Here they all are:
- Bootiful GCP: Getting Started with Spring Cloud for Google Cloud Platform (1/8)
- Bootiful GCP: Relational Data Access with Spring Cloud GCP (2/8)
- Bootiful GCP: Globally Consistent Data Access with Spanner (3/8)
- Bootiful GCP: Integration with Google Cloud Pub/Sub (4/8)
- Bootiful GCP: Runtime Configuration with Spring Cloud GCP Runtime Config (5/8)
- Bootiful GCP: Supporting Observability with Spring Cloud GCP Stackdriver Trace (6/8)
- Bootiful GCP: Use Spring Cloud GCP to Connect to Other GCP Services (7/8)
- Bootiful GCP: To Production! (8/8)
What a month! I also traveled to a half dozen cities over a few (cold!) countries.
ALSO, more than a billion people just celebrated the Lunar New Year: Happy (belated) Lunar New Year to you if you're among those who celebrate. Now, with that, we've got tons to review so let's get to it!
- Spring Session for Apache Geode/Pivotal GemFire 2.0.8.RELEASE available!
- In A Bootiful Podcast, I interviewed Spring messaging and integration maestro, and one of my oldest friends on the Spring team, Oleg Zhurakousky.
- Hi Spring fans! In this installment of Spring Tips, The Reactor Context, I look at how you can perpetuate state across thread execution jumps.
- If you're using older versions of Cloud Foundry then you might be using a vulnerable version of Java
- I really liked this response from Kenny Bastani on eventual consistency
- This is an interesting post on using Spring Boot with Vault on Kubernetes
- I love this – a look at using Neo4j and Spring Data Neo4j with the epic Mark Heckler and Jennifer Reif, among others
- I loved this look at Spring Data Redis and high-availability with Sentinel
- Check out this replay of the Securing Microservices with Spring and Pivotal Cloud Foundry webinar
- Hey check this out – it's a third-party thing you can use to get lightweight administration of Spring Batch jobs, Spring Batch Lightmin
- This is interesting – it's a program from
pacphi
calledcf-butler
that cleans stale apps and services on a Cloud Foundry foundation. It can be configured to report on and remove orphaned services and stopped app instances older than a configurable duration. - Spring Tools 4.1.1 released – this new release is packed with tons of features, don't miss it!
- LISTEN: in this latest installment of my podcast, A Bootiful Podcast, I interview Spring Boot legend Madhura Bhave. Don't miss it!
- In this installment of Spring Tips I look at hedging client requests with the reactive
WebClient
and a service registry as supported by Spring Cloud'sDiscoveryClient
abstraction. - Spring IO Platform Cairo-SR7
- Spring IO Platform Brussels-SR16
- Spring Cloud Greenwich.RELEASE is now available
- New Tools from Pivotal, IBM Pave the Way for Java EE WebSphere Apps to Move to Cloud Foundry and Kubernetes
- Securing Spring Boot Admin & Actuator Endpoints with Keycloak
- This looks pretty interesting: Fetch only the needed data from the database via Spring Data Projections (DTOs) and enrich the result via virtual properties
- The NewStack has a nice post on Spring Cloud GCP 1.1 – check it out!)
- Cloud Foundry foundation directory Abby Kearns predicts trends for 2019)
- JUnit 5.4 RC1 is now available. Please kick the tires and give us feedback before 5.4 GA! 5.4 RC1 also includes
@RegisterExtension
ordering,null
and empty argument sources for@ParameterizedTest
methods,@TempDir
field injection) - I love this series of posts introducing Kubernetes for Spring developers by the legendary Kubernetes community member Paul Czarkowski
- the Software Engineering Daily podcast has a great episode on RSocket, the reactive streaming service networking protocol, with Ryland Degnan. Spring Framework 5.2 is intended to integrate RSocket, as well.
- Here's an interesting podcast episode from The New Stack on people using Cloud Foundry at scale – check it out.
- I liked this post from the good Dr. Dave Syer on Manual Bean Definitions in Spring Boot. In it, he looks at how to widdle down the number of objects in play in a Spring Boot application in order to acheive better performance. You could get non-trivial Spring Boot applications down below 1s startup times, whre they belong!
- I released the latest installment of my podcast, A Bootiful Podcast, and this time my interview was with Google Developer Advocate Ray Tsang. Ray has been a friend to the Spring community and I wanted to highlight his work here. Are you already a subscriber? You can be! Listen to the Podcast on SoundCloud or on iTunes, among other places. If you like it, please leave a nice review on iTunes. It really helps the podcast. Thanks.
- I also released my latest installment of Spring Tips, this time looking at JavaFX. "JavaFX!" I hear you cry. I know, but trust me – it's awesome. If you're going to build a native desktop application (granted, that's a big if) then JavaFX is a very credible way to do so and it plays rather nicely with Spring. Not much required to make it work, either. It's as if the folks working on JavaFX saw fit to build it to be flexible enough to support integration with other technologies. Wonderful.
- A friendly reminder that Spring Data auto-derived queries are exceptions, not the rules. Use
@Query
, please - You know who I loved working with and who I'll miss now that he's leaving Pivotal? My friend Josh Mckenty (@jmckenty).. He's a fellow Python-programmer, and a Cloud Foundry fan. He and I did a wonderful video, Cloud Foundry Livelessons, that to this day ranks among my favorites. It is so ambitious and so dense! Farewell, better Josh, and thank you.
- Thomas Darimont just upgraded an example application using the Spring Boot Admin with Keycloak to the latest Spring Boot version 2.1.2.RELEASE
- PKS, Pivotal's Kubernetes Service, now runs on Azure!
- Thanks to Java Champion and industry legend Trisha Gee for pointing me to this thread for advice to give to young, impressionable programmers beginning their journey.
- This has very little to do with Spring, per se, but Mario Gray and I got Java editing and Asciidoctor editing working in
emacs
and documented it here: Getting Emacs Ready for Writin', Part 1 - PicoCLI, a library for building command-line applications on the JVM, now supports Spring Boot.
- Unsurprisingly, Java still dominates the TIOBE language rankings
- Thanks to Olga Maciaszek we have XML support in Spring Cloud Contract!
- (Reactive) Spring Data engineer Mark Paluch does an amazing job in identifying a "Reactive Programmming Maturity Model" in this Tweet. Brilliant!
- Working towards your Spring Core Professional certification? Check out these resources
- Laszlo Csontos has a nice example of using Twitter4J together with Spring Integration
- Want to see a WebMVC.fn similar to Webflux.fn in Spring Framework? Vote for this issue
- We could use your feedback on Spring Cloud Task
- Many years ago I created the first pull-request for what was then only a mirror of the Spring Framwork on Github, a thing that Rashidi Zin noticed on Twitter. Now, keep in mind, I am by no means the first person to send a fix or patch or changeset or anything of the sort to Spring Framework. Just the first to do so on Github, which has only been a thing for the last few years. Spring's been around in some form or another, on CVS, Subversion, Git and now – just recently – on Github for closer to twenty years.
- The Codecentric Spring Boot Admin 2.1.2 has been released! It now supports Dischord, thanks to a contribution from the community.
- You know, I never know what people will find interesting in our wonderful community! It's for this reason that I try to cover as many topics as possible in the Spring Tips series. The latest installment has proven to be popular! Almost 100 likes no YouTube as of this writing. In it, I look at business process management with the Apache 2 licensed Flowable BPMN and CMMN engine
- The Spring Framework team just migrated from JIRA to Github issues. It was not easy. Read here to learn about what happened and how it happened
- Spring Session Bean-SR2, Apple-SR8, and 1.3.5 Released
- Spring Cloud Task 2.1.0.RC1 is now available
- Spring Boot 2.1.2 released
- Spring Boot 2.0.8 Released
- Spring Boot 1.5.19
- Spring Security 5.1.3, 5.0.11, 4.2.11 Released
- Spring CredHub 2.0.0 released
- Spring Data Lovelace SR4, Kay SR13, and Ingalls SR18 released
- Composed Function Support in Spring Cloud Data Flow
- Spring Framework 5.1.4, 5.0.12 and 4.3.22 available now
- We'd love it if you'd take our survey on Spring Cloud Stream
- Ditto for our survey on Spring Cloud Data Flow
- Want to meet the Spring Boot team? They're in NYC and hanging out tomorrow!
- Piotr has a nice post on building microservices with Spring Boot and Kotlin
- Steven van Beelen has updated the Axon article on the Baeldung blog to reflect version 4.0 of Axon. Check it out!
- An interesting post by Arnold Galovics on deploying a simple Spring Boot with MySQL app to AWS using Elastic Beanstalk
- A look into Spring Cloud Gateway
- You know what will be fun? The SpringOne Tour in London, on March 18-19. Join us!
- Spring Data ninja Mark Paluch has chimed in with some good news: Test Containers is working on R2DBC support.
- An oldie but a goodie from the Baeldung blog: how to access a
File
from the classpath in a Spring Application - the Apache RocketMQ looks at the roadmap of Spring and Apache RocketMQ integration, thanks to the work of the Spring community
- How do you build reactive webapps using Spring Boot and Vaadin? This tutorial shows you from scratch.
- I love this ultimate guide to Visual Studio Code for Java in 2019 by Microsoft's Bruno Borges
- How to deploy your Cloud Foundry app with (almost) zero fear using Travis CI
- A friendly reminder that people are seeing significant performance improvements in Spring Boot 2.1
- This is super cool: Eirini enables pluggable scheduling. Choose whether Cloud Foundry Applicatio runtime should use Diego or Kubernetes to orchestrate applications
- Marco Behler looks at Spring Boot "Properties" magic
- Don't miss this upcoming webinar on application security on Pivotal CF
- This is an oldie-but-a-goodie: check out Rob Winch's awesome talk about Reactive Spring Security
- An interesting post on understanding Spring Boot starters and tools
- Another fine installment of this Month in RabbitMQ — Jan 8, 2019
- In this Spring Tips installment I look at RSocket, the reactive, elastic integration protocol from Facebook and Pivotal, among others.
- LISTEN: In this week’s installment of my Bootiful Podcast we talked to observability icon and Micrometer lead Jon K Schneider about his observations on observing, microservices, Netflix, Pivotal and the Spring team.
- Spring Cloud Stream – Fishtown.RELEASE (2.1.0.RELEASE)
- Spring Cloud Function – 2.0.0.RELEASE
- Do not miss this January 29th webinar on Securing Microservices with Spring and Pivotal Cloud Foundry Webinar
- I dig this simple-to-grasp table illustrating the differences between Java Streams vs. Reactor's
Flux
- Boost the performance of your Spring Data JPA application
- A nice on article on the Baeldung blog on deploying a Spring Boot Application to Cloud Foundry
- Another nice Baeldung blog on deploying a Spring Boot Application to AWS Beanstalk
- Are you in San Francisco or the San Francisco, Bay Area? Do not miss Ben Hale's Wednesday SF JUG talk on R2DBC
- Check out this tutorial on event-sourcing, CQRS and microservices with Spring
- Spring Boot-enabled Apache Camel integration with Rabbitmq and MongoDB 3
- In this Spring Tips installment I looked the Spring Boot-based stack powering one of the world's largest ecommerce engines, Alibaba. This video's piqued a lot of people's curiosity, so check it out!
- Did you catch our annual This Year in Spring roundup?
- Check out this podcast in which Pivotal SVP James Watters talks about his thesis for enterprise Kubernetes
- The future of Kubernetes is Virtual Machines (not Containers)
- May I humbly recommend this Oracle Magazine piece on writing reactive Spring applications that I wrote a while back? It's an oldie-but-a-goodie.
- This is an interesting StackOverflow thread on what the differences between Spring Data JPA and Hibernate are. If I'm honest, I didn't realize anyone was confused about this. Read this for insight on that point and more
- This is an interesting piece on dynamic pagination with QueryDSL and Spring Data
- Doing things with large heaps? You might want to investigate the ZGC
- I liked this Reddit thread wherein people talk about their usecases for Spring in their organizations
- Nice post on the Ippon Tech blog on improving the performance of your Spring Data JPA application – another oldie-but-a-goodie.