Spring AI's Final Countdown: Virtual Threads, AWS Integration & Developer Productivity
Happy Monday and welcome to another edition of the newsletter! Last week, I tackled an RSS feed issue through good old-fashioned debugging rather than defaulting to AI. After a few minutes of investigation, I discovered that my feed plugin had a default limit on the number of posts to include. With a quick configuration update, the feed was back in business. I've also added a feed link to the blog home page for those who weren't aware of this option.
This week is packed with exciting developments you won't want to miss. I'm thrilled to share critical news about Spring AI's final milestone release before GA, with significant enhancements for local model deployment. I've created a fresh video demonstrating JDK 24's breakthrough Virtual Threads without Pinning feature that dramatically improves application performance. I'll recap our latest Spring Office Hours episode featuring James Ward from AWS discussing MCP-based agents. Additionally, I'll share highlights from my recent AI for Java Developers talk at Microsoft's JDConf 2025, and announce my upcoming live stream with IntelliJ where I'll show you AI-powered productivity hacks for developers of all skill levels. Let's dive in!
Final Countdown: Spring AI 1.0.0-M7 Marks Last Milestone Before GA
Spring AI has reached a critical inflection point with the release of version 1.0.0-M7, officially announced on April 10th. This milestone marks the final pre-release before the project moves to Release Candidate status next month, followed quickly by General Availability in time for the Spring I/O conference in Barcelona in May. For teams building AI-powered applications with Spring, now is the perfect time to begin migration planning.
The M7 release introduces significant enhancements focused on local model deployment and improved architecture. Docker Desktop 4.40's Model Runner integration provides a seamless OpenAI-compatible API for local model execution, particularly beneficial for Apple Silicon users who can now run models locally without sending data to external services. Additionally, the release incorporates the latest Model Context Protocol (MCP) reference implementation Java SDK version 0.9.0, featuring session-based architecture and exchange-based interactions that improve handling of multiple concurrent client connections.
Developers should note that the release includes breaking changes to artifact IDs and package structures. Vector store starters have been renamed from spring-ai-{store}-store-spring-boot-starter to spring-ai-starter-vector-store-{store}, while MCP starters have changed from spring-ai-mcp-{type}-spring-boot-starter to spring-ai-starter-mcp-{type}. The Spring AI auto-configuration has also evolved from a monolithic artifact to individual auto-configuration artifacts per model, vector store, and other components—a change designed to minimize dependency conflicts.
If you're developing with Spring AI, I highly recommend upgrading to this milestone release now to ensure a smooth transition to the upcoming GA version. The comprehensive documentation provides detailed migration guidance, and getting ahead of these architectural changes will position your projects for success with the stable 1.0 release next month.
What are you building with Spring AI? Share your projects and experiences in our community forums—we'd love to feature innovative implementations in an upcoming issue!
Spring Office Hours Recap: Running MCP-based Agents on AWS
In our latest episode of Spring Office Hours, my co-host Deshawn Carter and I welcomed James Ward, Principal Developer Advocate at AWS, to discuss the exciting world of Model Context Protocol (MCP) and its implementation on AWS.
James shared how MCP is transforming backend development by making AI integration more accessible to Java developers like us. I was particularly impressed by how Spring AI dramatically simplifies what would require thousands of lines of Python code into just 20 lines of Java. We explored AWS Bedrock service for model inference, including Amazon's Nova models and how they support tool calls essential for MCP integration.
Our conversation covered architectural considerations for deploying MCP servers on AWS using container services like ECS, and James highlighted current protocol limitations with server-sent events and the upcoming streamable HTTP protocol that will enable serverless implementations. I found his insights on how MCP enables dynamic workflows particularly valuable - where LLMs can determine which data sources to query based on natural language prompts, eliminating the need for static dashboards.
If you're a Java developer looking to integrate AI capabilities into your enterprise applications using familiar Spring tools and AWS infrastructure, I highly recommend watching the full episode.
Watch the replay here
Virtual Threads Without Pinning in JDK 24: Performance Breakthrough
JDK 24 introduces a significant enhancement to virtual threads that eliminates the "pinning" problem that previously limited their scalability. In your demonstration, you showcase how virtual threads in JDK 21 would get pinned to carrier threads when entering synchronized blocks, causing severe performance bottlenecks. With synchronized blocks in JDK 24, virtual threads can now yield their carrier thread during blocking operations, dramatically improving throughput. Your examples show impressive performance gains: execution time dropping from 32 seconds to just 0.46 seconds in a pure Java example, and from 21 seconds to 2.3 seconds in a Spring application under high load.
This improvement is particularly valuable for applications with legacy code relying on synchronized constructs and those performing frequent blocking operations like database access or service calls. The restaurant analogy effectively illustrates how JDK 24 allows "waiters" (carrier threads) to serve multiple "customers" (tasks) efficiently instead of being tied to a single customer during waiting periods.
Read the full blog post: JDK 24 Virtual Threads Without Pinning
Watch the video:
Microsoft JDConf 2025
I was honored to be a part of Microsoft's Java Developer Conference last week. I gave a talk on AI for Java Developers and packed a lot of information into a 30 minute session. Thank you to Microsoft for allowing me to present and a huge thank you to everyone that attended my session. If you want to catch the replay of all the sessions you can check out this playlist.
"Code Smarter, Not Harder: AI-Powered Dev Hacks for All"
This practical presentation will demonstrate how AI tools can enhance developer productivity across various aspects of software development. The session will feature real-world examples and live demonstrations showing how AI can improve your workflow through:
- Code completion and bug detection
- Automated refactoring and test generation
- Documentation writing and code generation
- Collaborative programming with AI assistants
The presentation is designed to be accessible for developers of all skill levels and will provide concrete strategies for integrating AI tools into your development routine, regardless of your preferred programming language or environment.
Event Details:
- When: April 17, 2025
- Platform: IntelliJ Livestream
- Registration: Free
- Registration Link: https://info.jetbrains.com/idea-livestream-april17-2025.html
If you're looking to enhance your coding efficiency with AI-powered tools, this presentation should provide valuable insights and practical techniques you can implement immediately.
As always if you want to find out when and where I will be speaking next you can check out the speaking page on my website.
TWEETS
I'm heading back to KCDC!
SpringOne at VMware Explore is taking place in Las Vegas later this year!
Really excited to share this video I worked on for Spring AI
UNTIL NEXT WEEK
I hope you enjoyed this newsletter installment, and I will talk to you in the next one. If you have any questions for me or topics you would like me to cover please feel free to reply to this email or reach out to me on Twitter (I'm not calling it X).
Happy Coding,
Dan Vega
https://www.danvega.dev