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!
- A Bootiful Podcast: An Exciting Week of Releases and Dr. Yordan Karadzhov
- A great screencast from Matt Raible: Angular Docker with a Big Hug from Spring Boot - YouTube
- A nice post on ZGC and using
- A nice talk about Java in containers by David Delabassee
- An Axon podcast with Allard Buijze
- Background: how we got the generics we have
- Bi-weekly Round-Up: Technical Ecosystem Updates from Cloud Foundry | 6.30.20
- Compact Forwarding Information
- Creating “The Second Best Place on the Internet” with Spring Initializr
- Delay startup of your Spring Boot application until your DB is up.
- DevJourney Podcast | What if you could sit around a campfire 🔥 and listen to the world’s best software developers tell you the tales of their life journeys? Welcome to Software Developer’s Journey, the podcast shining a light 💡 on developer’s
- Docker, SpringBoot & Buildpacks
- First Spring Framework 5.3 milestone released
- First milestone of Spring Data 2020.0 available
- Getting Started with RSocket on Spring Boot – Ben Wilcock
- Great talk: Why Empathy Matters in Infrastructure Delivery
- Have you checked out Tanzu Mission Control’s new data protection feature?
- How do ‘hot and cold’ objects behave?
- I like this Japanese-language post on Spring’s
- I loved this talk Avoiding Reactor Meltdowns about how to use project Reactor and understand what’s happening
- It was a lot of fun doing a meetup this morning (PST) for folks who received pizza for dinner in their timezone (CEST)!
- JEP 347: Adopt C 14 Language Features in the JDK
- Jakub Pomykala has an open source project to package up reusable patterns for Spring Boot-based applications.
- Julien Dubois on an Azure Native Function with Spring Cloud Function
- Jun 24 - Tanzu Observability Tips for Understanding Your Spring Boot Applications
- Kotlin Programming - The State of Developer Ecosystem in 2020 Infographic | JetBrains: Developer Tools for Professionals and Teams
- Kotlin on Twitter: "Avoid using destructuring declarations together with non-trivial custom data classes: it will be too easy to break your code if you add new properties to such classes later.
- Kotlin on Twitter: "Comparing two strings irrespective of their capitalization? Don’t create new strings with toLower() to compare them. Instead, use equals(), which has an option to ignore case when comparing two strings. This way you won’t have to a
- Kotlin on Twitter: "If you are using the isBlank() or isEmpty() methods to assign default strings, consider using their ifBlank and ifEmpty counterparts instead. They are designed to make exactly this use-case more concise and to avoid repetition. htt
- Kotlin on Twitter: "When working with multiple lists, evaluate whether set operations like union, intersect, or subtract can help solve your task quickly, rather than relying on filters. They are available as extension and infix functions on Sets, Lists,
- Marco Behler has another nice interview with a Spring community legend, Simon Martinelli
- New Project Loom Early-Access Builds
- Open Source Registry Harbor’s Graduation: Q&A with VMware’s Michael Michael
- RabbitMQ » Blog Archive » This Month in RabbitMQ, May 2020 Recap - Messaging that just works
- Reactive Programming with Java Spring, R2DBC and MariaDB - DEV
- Running Axon Server - CQRS and Event Sourcing in Java
- Sara🎙 on Twitter: "📣I (virtually) sat down with @allardbz to talk about the beginnings of Axon framework and the start of AxonIQ. Enjoy!🎙 #Podcast 🎧 #DDD #EventSourcing #Java☕️ #Developer #SoftwareArchitecture #SoftwareEngineering #AxonFra
- Siva Prasad, a wonderful member of the community, did one of Marco Behler’s The Spring Interviews. I thought it was a fun read, and you might too.
- Social Network for Programmers and Developers
- Spring Batch 4.3.0-M1 is released now!
- Spring Boot 2.3.0 Focuses on the Cloud
- Spring Boot 2.4.0-M1 is now available
- Spring Integration 5.4 M1 is now available! The Spring Integration 5.4 generation is based on the recently released Spring Framework 5.3 M1, which includes updated dependencies. The new release also includes the long-requested addition of the Spring Integration Kafka extension module. The new
DELETEoperations from integration flows in reactive manner. Redis Streams support has been introduced with the
ReactiveRedisStreamMessageHandler.And, the project is now compatible with Java 14. We’re looking what can be done for Java 17 compatibility.
- Spring Security 5.4.0-M2 Released
- Tern: Soaring Through Container Images
- Thanks Mimacom for having me! This was a blast.
- The Google Cloud team worked with the Spring Cloud team to support Google Cloud Functions (Alpha) with Spring Cloud Function. Try it out!
- The New Stack has a nice post on Tanzu, the VMware Kubernetes distribution for developers .
- The Past, Present and Future of Cloud Foundry – Part 1
- The actuator can show information from the Spring Boot app
- There’s an open issue on Spring Cloud Zookeeper on which we’d love your help!
- There’s a new release of JHipster
- This is a nice post on how to build scalable Facebook-like notifications using Server-Sent Events and Redis (and Spring Boot).
- This is another interesting open-source project by the community; it’s a Spring Boot starter for configurable REST API error handling. Looks interesting…
- Todd Ginsberg looks at reactive Spring Boot with Kotlin Coroutines
- URL Matching with PathPattern in Spring MVC
- Want to get involved in the
cf-for-k8sproject or start kicking the tires? Check out these resources!
- What’s PCF All About? – Tom Prior
- Why are my
- Yet another great issue that’s ideal for contribution in Spring Cloud.
- @olajide on Twitter: “I love springboot https://t.co/VOY9b5Uycx” / Twitter. Permit me to be so bold as to speak on behalf of the entire Spring team to say that we love you, the community, too!
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.
On behalf of the community, I’m pleased to announce the release of Spring Security 5.4.0-M2! You can find the complete details in the release notes and the highlights below:
gh-8700 - OAuth2AuthorizedClientArgumentResolver picks up OAuth2AuthorizedClientManager bean
gh-8730 - Add JWTProcessor Configuration Post-Processor
gh-8669 - OAuth2AuthorizedClientArgumentResolver for XML
gh-8587 - Add ServerRequestCache setter in OAuth2AuthorizationCodeGrantWebFilter
gh-8603 - oauth2Client Test Support no longer requires an HttpSessionOAuth2AuthorizedClientRepository
gh-8501 - Add issuerUri to ClientRegistration
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.
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:
On behalf of the team and everyone that contributed, I am pleased to announce that the first milestone of Spring Boot 2.4 has been released and is available from our milestone repository. This release closes over 120 issues and pull requests.
Please note the slight change in the format of the version. 2.4.0-M1 is the first Spring Boot release to use the new versioning scheme.
With Spring Boot 2.4, we have switched to a 6-month release cadence. All being well, you can expect to see 2.4.0 reach general availability in October or November.
Dear Spring community,
On behalf of the team and everyone who contributed, it is my pleasure to announce the first milestone for Spring Integration
It can be downloaded from our milestone repository:
The Spring Integration
5.4 generation is full based on recently released Spring Framework
5.3 M1 including all the deprecation resolutions, removal some obsolete API and aggressive upgrade the latest versions for dependencies.
On behalf of the Spring Batch team, I am pleased to announce that Spring Batch 4.3.0-M1 is now available from our milestone repository.
This release is packed with new features, performance improvements, and bug fixes, as well as documentation and dependency updates! You can find the complete list of changes in the release notes, but here are the major highlights:
Similar to the
SynchronizedItemStreamReader, we added a
SynchronizedItemStreamWriter. This feature is useful in multi-threaded steps where concurrent threads need to be synchronized to not override each other’s writes.