Java Digest # 11: State of Java Ecosystem ‘24 & Spring, Spring, Spring
?? Aloha, friends!?
Time flies… uh, where was I…?
When else but in the first month of summer to talk about Spring (sorry for the pun)??
Because May has brought us the most news about it, let's dive into the updates.
You can check out the previous digest here.
This edition’s undisputed hero is Spring, but we’ll chat a bit about Java too.
?? According to the State of the Java Ecosystem 2024 report by New Relic, newer versions of Java are being used more frequently, which pleases our digest team.
Folks, let's aim to make sure there's not even a whiff of Java 8 by 2025!
?? Nicolai Parlog has dropped a new video on his favorite topic – Java Modules.
Besides that, Nicolai teased a series of posts about Data-Oriented Programming on Java 1.1 – click here for the details (as of writing this digest, 4 out of 5 planned posts are already available).
?? Billy Korando recorded a 10-minute intro to JDK Mission Control.
?? Microsoft's blog featured an interesting article (apparently the first in a series of three) by Cesar Soares about one of the powerful optimization techniques in JDK - Scalar Replacement, and ways to improve it.
?? We couldn't overlook the talk by Roy Van Rijn at DevoxxUK 2024, either.
?? If you're itching to try out JDK 23, Nicolai Parlog has a new Inside Java Newscast just for you!
Since the last edition, a lot has happened in the Spring world, but the biggest news is that Spring Boot 3.3.0 is now available! We've written a lot about the new features added in this version, but let's highlight the main updates once again. You can check out the detailed changes here, but here are the key points:
Moritz Halbritter wrote a fantastic article about SBOM (Software Bill of Materials) support in Spring Boot 3.3.0. SBOM has become a key element in ensuring software security and managing risks in the software supply chain. If you're interested in security, we highly recommend giving it a read.
Spring Framework 6.2.0-M2 and Spring Framework 6.2.0-M3 were also released. While M3 mainly contains dependency updates, M2 includes over 30 improvements. You can find the full list of changes here, but here are the most important new features:
The main highlights of Spring Data 2024.0.0 include the following changes:
Spring Session 3.3 has introduced the following changes:
Spring Security 6.3.0 also includes some new improvements. Some of the most interesting ones are:
Three versions of Spring for Apache Kafka just dropped: 3.2.0, 3.1.5, and 3.0.17. All of them now include the handleOne() method implementation, declared in the CommonErrorHandler interface, within the CommonDelegatingErrorHandler class. You can find more details about these releases in the notes for versions 3.2.0, 3.1.5, and 3.0.17.
Spring for Apache Pulsar 1.1.0 now supports transactions for PulsarTemplate, @PulsarListener, and DefaultPulsarMessageListenerContainer. Check out the other changes here.
Spring for GraphQL 1.3.0 is now available. The final version includes support for virtual threads, GraphQL authentication over WebSocket, and interceptors for WebSocketGraphQlTester. More details can be found here.
Spring Authorization Server 1.3 is now available. In our previous digest, we covered the new features introduced in this version. For more details, you can check out the release notes.
Spring Cloud 2023.0.2 (OSS) and 2022.0.7 (Enterprise) have been released. The updates affect the following modules: Spring Cloud Kubernetes, Spring Cloud Function, Spring Cloud Gateway, Spring Cloud Config, Spring Cloud Netflix, and Spring Cloud Stream. You can find more information here.
Spring AI 1.0.0 M1 brings a lot of changes, which are detailed in this article. Here are some highlights:
Spring Modulith versions 1.2, 1.1.5, and 1.0.8 are now available. In version 1.2, new features include the ability to make module access public, an alternative to package-info.java for Kotlin, and the exclusion of classes generated by Spring AOT from verification. For more details on the changes, you can check the links for versions 1.2, 1.1.5, and 1.0.8.
Here’s some information about other releases, which mainly include bug fixes, dependency updates, and documentation improvements:
As always, our release wouldn't be complete without highlighting the latest videos from the Spring Tips series. Here are the most recent videos since our last update:
?? In the first video, Josh Long talks about HashiCorp Vault and Spring Cloud Vault, specifically focusing on how they can be used for automatic database password rotation.
?? In the next video, Josh Long discusses virtual threads and demonstrates, with two examples, how they can impact application performance.
?? In the third video, Josh Long covers Webauthn (Web Authentication), a web standard that is a key component of the FIDO2 project. This project aims to standardize the interface for authenticating users to web applications using public key cryptography. He also focuses on developments in this area within the Spring Security project.
领英推荐
?? The latest video in the Spring Tips series is a bit different from the usual. This time, Josh Long shared his talk on Spring AI from the recent Spring I/O conference. In this presentation, Josh Long and Christian Tzolov discuss the growing popularity of Java for AI applications. They also demonstrate how easy it is to get started with Spring AI by showcasing an example of creating a pet adoption platform.
As mentioned earlier, the Spring I/O conference recently took place in Barcelona. Recordings of the talks are now being uploaded to their YouTube channel. While we can't list all the talks in our digest, there are a few we'd like to highlight.
?? Josh Long's talk provides a concise overview of topics he has covered in the Spring Tips series, such as Spring AI, Virtual Threads, and more. If you haven't been following the series but want to learn about these innovations, we recommend checking out his talk.
?? In his session, Juergen Hoeller explored some of the strategic fine-tuning of the core container in Spring Framework 6.2, covering component model variations, autowiring performance, locking behavior, and lifecycle management revisions.
?? Thorben Janssen, in his talk, discusses issues that can affect the performance of your queries when using Spring Data JPA and offers strategies to work around them.
?? The main focus of Daniel Garnier-Moiroux's talk is the architecture of Spring Security, its key components, and ways to customize them. We recommend this talk to anyone looking to deepen their understanding of Spring Security.
?? If you're interested in GraalVM and its future developments, like we are, then Alina Yurenko's talk is perfect for you.
Going AOT: Everything you need to know about GraalVM for Java applications by Alina Yurenko SpringIO
The "State of Spring 2024" report has been released, showcasing the rapid evolution of the software development world. Key trends include the integration of artificial intelligence, the growth of Kubernetes, and the advancement of modern architectural styles like serverless.
Key highlights include the following:
For more detailed information, you can check out the full report here.
We recommend checking out Maciej Walkowiak's experience upgrading to Spring Boot 3.3.0. In brief, Spring updated to Hibernate 6.5, which included a minor change to JPQL generation when an empty parameter list is passed. This caused 100% CPU usage in production. The moral of the story: always thoroughly test even the smallest version changes in dependencies.
Kudos to the Hibernate team—they have already fixed this issue.
The Spring team has announced that their SpringOne conference is moving to an online format and is now completely free. Register for the next conference, which will take place on August 26-28.
??? OCI
??? AWS
??? Azure
Not a month without a drama OpenAI . This time it's Scarlett Johansson. The voice of the new OpenAI assistant, "Sky," sounds suspiciously similar to the actress's voice. And apparently, it's without her consent. =)
You can check out the full Xwitter thread here.
Apparently, Sam Altman doesn't see any issues with this.
Thanks for reading the digest! Don't forget to like and subscribe to our monthly newsletter on LinkedIn. We also appreciate your ideas on how we can improve our future articles.
As usual, the Avenga team worked on the digest: