Hi, Spring fans! This week I rant about push-button simple deployments and then talk to our friend and Spring and Java community member Eddú Meléndez about working in open-source, his journey to Spring and its community, his various contributions to Spring and more.
Hi, Spring fans! Welcome to the recap installment for the seventh season of Spring Tips! I can't believe we're already on season seven! In October of 2020, it'll be 4 straight years of doing these videos. Hopefully, they're helping.
Every season consists of 11 episodes and one recap blog post. Sometimes, I'll do an occasional extra episode or I'll do an episode during the interregnum between seasons as the situations sometimes demand. But, for now, I'm done for a little while - not as long as last time, for sure! But a little while. I need time to gather my resources, prepare new content, finish the Reactive Spring book, and…
Hi, Spring fans! Welcome to another installment fo This Week in Spring! How're you all holding up? Me? I'm doing well, thanks. We've got a ton of stuff to get to so let's!
Here's the latest graph of memory versus billing for Spring Cloud Function on AWS Lambda. It shows the billing metric GBsec as a function of memory allocation in Lambda for two custom runtimes, one in plain Java and one using a GraalVM native image, as described recently in this blog by Andy Clement:
In both cases the functionality is identical (a simple POJO-POJO function), and they both show only the results for cold start. Warm starts, where the function was already active when the request came in, were much faster and cheaper (except for the smallest memory setting they all cost the same…
Hi, Spring fans! In this installment Josh Long (@starbuxman) talks to the founder of - among other things - Feign, JCloud, and Spring Cloud Sleuth - Adrian Cole (@adrianfcole) about distributed tracing, Zipkin, and more.
The Spring team has decided to change the versioning scheme for both release trains and project modules. These changes will be coming in the next release train and minor releases for each project. In fact, the changes are already present in Spring Cloud 2020.0.0-M1. Maven and Gradle do not provide the exact same version ordering, but we are working with the Gradle team to ensure the Spring scheme ends up sorted in the same way with both tools.
Release Train Version Changes
Spring has been using alphabetically ordered, themed release train versions since 2013. Release trains contain a group of…
Hi, Spring fans! Welcome to another installment of This Week in Spring! It's already April 28th, 2020. I can't even believe it.
The time sure is flying, not just since the last time we spoke in this little blog of ours, but also since I first started writing these roundups the first week of January 2011. In four short months, it'll have been ten years since I officially joined the Spring team! Crazy.
It's also the case that time has flown by since this #COVID19 crisis forced much of the world into lockdown. I am an eternal optimist, and I was wondering if this COVID19 crisis was going to have…
Hi, Spring fans! Welcome to another installment of Spring Tips! In this installment, we'll revisit two topics that we've addressed in two previous videos (distributed tracing and metrics collection) in terms of the superb Tanzu Wavefront observability platform.
The first video of the two videos, as mentioned above, dating way back in early 2017, looked at distributed tracing with spring cloud sleuth and openzipkin. Spring Cloud Sleuth is an abstraction for capturing the flow of messages from one node to another. It's useful to help you see how messages move through a system. Spring cloud sleuth integrates with all the usual ingress and egress points in a Spring Boot application. Make an HTTP request using either the Restteplat or the reactive WebClient or Spring Cloud Feign? It works. Receive an HTTP request to a traditional (Servlet-based) or…
Hi, Spring fans! In this episode Josh Long (@starbuxman) talks to Linux kernel hacker and Linux Real-Time patch founder Steve Rostedt on observing the Linux kernel and on what it sees when it looks at our busy Java and Spring applications.
Hi, Spring fans! Welcome to another installment of Spring tips! in this installment, we're going to look at something that's rather foundational, and something that I wish I'd addressed earlier: configuration. And no, I don't mean functional configuration or java configuration or anything like that, I'm talking about the string values that inform how your code executes. the stuff that you put in application.properites. that configuration.
All configuration in Spring emanates from the Spring Environment abstraction. The Environment is sort of like a dictionary - a map with keys and values. Environment is just an interface through which we can ask questions about, you know, the Environment. The abstraction lives in Spring Framework and was introduced in Spring 3, more than a decade ago. up until that point, there was a focused mechanism to allow integration of configuration called property placeholder resolution. This environment mechanism and the constellation of classes around that interface more than…