Hi, Spring fans! Welcome to another installment of a Bootiful Podcast! In this installment Josh Long (@starbuxman) talks about the week that was and talks to the amazing Spring Data JDBC cofounder Jens Schauder (@jensschauder) about JPA, JDBC, and domain-driven design.
Hi, Spring fans! What a crazy week it's been! How are you? I hope you're safe, healthy, happy.
I'll be speaking later today (Tuesday) at the Accento Digital conference and at the Jetbrains Java Day online event on the 10th (Friday). Both of these should be accessible from EMEA and APJ timezones. I look forward to seeing you there!
We've got a ton of good stuff to get to this week so let's get to it!
Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to Dr. Yordan Karadzhov about instrumenting and visualizing the Linux Kernel, and understanding what's happening from the perspective of the platform, containers, and cloud-native Spring applications.
Hi, Spring fans! Welcome to another installment of This Week in Spring! What a wonderful week it's been and it's only Tuesday! I spoke to folks in Switzerland on Monday, had a few awesome meetings with folks later, then today spoke to folks in Germany in the morning and then folks in APJ (Singapore, mostly) in the evening. And tomorrow, I'm speaking at the JPoint virtual conference about Bootiful Kotlin. I'd love to see you there!
Now then, we've got a ton of things to look at this roundup so let's get to it!
The recent Spring Framework 5.3 M1 release announcement mentions "Spring MVC comes with PathPattern parsing for efficient URL matching". This post expands on that with more context and detail.
Overview
In Spring applications AntPathMatcher is used to identify classpath, file system, remote, and other resources in Spring configuration. It has also been used in Spring MVC to match URL paths. Over time the use of patterns in web applications grew in number and syntax with AntPathMatcher evolving to meet those needs but some pain points remain without a solution:
In web applications, patterns need to be matched many times per request and therefore any gains in performance and efficiency matter. However String pattern matching limits what can be achieved.
Choosing the most specific pattern among several that match a request has proven challenging over the years with no simple ways to make it more predictable without impacting other cases.
Matching a String path to a String pattern makes it difficult to avoid URI encoding issues. For example should the incoming path be decoded first and then matched? That allows for patterns themselves to be declared without encoded characters, but what if the request path contains %2F or %3B which are / and ; respectively? Once decoded those alter the structure of the path making it harder to match reliably. We could leave the request path encoded via UrlPathHelper#urlDecode…
Hi, Spring fans! What a week it's been! Tomorrow I'll be presenting a webinar on the easy integration between Spring Boot and Tanzu Wavefront. Wavefront is an all-in-one, integrated distributed tracing metrics analytics observability platform. Join us tomorrow to learn about observability, about Wavefront, and their integration in the Spring ecosystem with Spring Cloud Sleuth and Micrometer, among other things.
We've so many great things to look at this week so let's get to it!
Reading time: about 6 minutesCoding time: about 20 minutes
If you've been following my series on RSocket, you've already learned how to build client-server applications with Spring Boot. In today's exercise, you're going to learn how to add security to your RSocket applications.
The task of securing RSocket applications is greatly simplified when you use Spring Security. Spring Security is a must-have module for any production application. It allows you to easily plugin many different authentication providers and restricts each user's access to your application based on their identity and…