Spring Then & Now: What’s Next? • Rod Johnson, Arjen Poutsma & Trisha Gee

A panel discussion with Spring Framework creator Rod Johnson and veteran Arjen Poutsma, moderated by Trisha Gee. They discuss the evolution of Spring, the future of reactive programming in the age of virtual threads, their new AI agent framework Embabel, and the essential AI skills modern Java developers need to acquire.

4 min read
Spring Then & Now: What’s Next? • Rod Johnson, Arjen Poutsma & Trisha Gee
source: https://www.youtube.com/watch?v=6Xlg7xEtF00

The Evolution of the Spring Framework

The Spring Framework’s success is rooted in its ability to evolve and adapt. A recent example is the deprecation of RestTemplate in favor of the new RestClient, which offers a more modern, fluid API. This continuous evolution is a core part of the framework’s identity, moving from XML-based configuration in its early days to annotations and adapting to new paradigms. This adaptability was key to Spring’s success in the microservices era, where other frameworks like Ruby on Rails, which were more tied to server-side HTML rendering, struggled to keep pace with the rise of single-page applications.

Reactive Programming vs. Virtual Threads

With the introduction of virtual threads in Java, the future of reactive programming in Spring is a key topic. Arjen Poutsma explained that while reactive programming still has valid, niche use cases (such as scatter-gather patterns), its overall necessity has diminished. The simplicity and ease of reasoning offered by the traditional servlet model, now supercharged by virtual threads, is often preferable.

Fortunately, the Spring team never bet entirely on reactive, developing both servlet-based and reactive stacks in parallel. The expectation is that as Java’s structured concurrency APIs mature, more use cases for reactive programming will be superseded. Consequently, the reactive components might eventually be moved out of the core framework into a separate module.

The Symbiotic Relationship Between Java and Spring

The relationship between the Spring team and the Java platform team at Oracle has transformed significantly over the years. In the mid-2000s, there was little to no interaction. Today, there is a close, collaborative partnership. The Oracle team recognizes that most Java developers use Spring, making the framework a crucial source of high-quality feedback.

This collaboration is evident in projects like Project Leyden, which aims to improve Java application startup times. The Java team actively works with the Spring team, using applications like the Pet Clinic to test and validate their improvements. This synergy ensures that advancements in the Java language and JVM are quickly and effectively exposed to developers through the framework.

Embabel: A High-Level AI Agent Framework

A significant portion of the discussion focused on Embabel, a new AI agent framework for the JVM built on top of Spring.

  • Embabel vs. Spring AI: Rod Johnson clarified that Embabel is a significantly higher-level framework than Spring AI. While Spring AI provides the essential, portable foundation for making calls to various LLMs (much like the Servlet API is a foundation for web apps), Embabel focuses on building, managing, and testing complex, multi-step agent flows. It introduces the concept of a managed process, making it more of a server-side framework for agents.
  • Error Handling: When an LLM fails to return data in the correct format, Embabel employs a configurable retry policy. However, persistent failures often indicate a deeper issue, such as using a model that isn’t powerful enough for the task or a poorly constructed prompt. The solution is often to use a better model or refine the prompt with clear return types and JSON schema descriptions.
  • Data Privacy and Local Models: A key concern for enterprises is data privacy. The panel addressed this by advocating for a multi-faceted approach. By breaking down complex AI workflows into smaller, distinct steps, developers can use local, on-premise models for any step that involves sensitive data. The quality of local models is improving at a rapid pace, making this a viable strategy. Furthermore, because Embabel is built on Spring, developers can leverage Spring Security to enforce fine-grained access control, ensuring that only authorized data is ever exposed to a model.

Architecture, Languages, and Essential Skills

  • From Microservices to Modulith: The panel acknowledged that the industry has seen a “swing back” from the “microservices happy” trend. The fact that Spring Boot made creating a new service almost zero-cost wasn’t necessarily a good thing, leading to over-fragmentation. The concept of “reluctant modularization” was proposed—only breaking up a system when a clear need is identified. Spring Modulith is seen as a tool that supports this more balanced approach.
  • Kotlin vs. Java: Embabel is written in Kotlin, but the choice was a matter of team preference for features like better collection handling and string interpolation. The interoperability between Kotlin and Java is excellent, and most examples for Embabel are in Java. The panel emphasized that the JVM ecosystem allows developers to choose their preferred syntax while benefiting from the performance and stability of the underlying platform.
  • AI Skills for Java Developers: Rod Johnson made a strong point that enterprise Java developers have a critical role to play in the AI revolution, but they currently lag behind Python developers in their understanding of core GenAI concepts. He urged Java developers to learn the fundamentals of vector databases, Retrieval-Augmented Generation (RAG), and the trade-offs of fine-tuning models. This knowledge is becoming as fundamental as understanding SQL was two decades ago.

Share post

Stay In The Loop! Subscribe to Our Newsletter.

Get updates straight to your inbox. No spam, just useful content.

Recommended for You

Quarkus in Action • Martin Stefanko, Jan Martiska & Holly Cummins

Quarkus in Action • Martin Stefanko, Jan Martiska & Holly Cummins

Authors Martin Štefanko and Jan Martiška discuss their book "Quarkus in Action," detailing the framework's powerful developer experience, the trade-offs between JVM and native compilation, and its cloud-native capabilities. They explore the book's structure, which guides readers through building a complex microservices application to showcase over 29 different extensions, from REST and gRPC to reactive messaging and cloud deployment.

GenAI Grows Up: Building Production-Ready Agents on the JVM • Rod Johnson • GOTO 2025

GenAI Grows Up: Building Production-Ready Agents on the JVM • Rod Johnson • GOTO 2025

Rod Johnson explains the high failure rate of enterprise GenAI projects, attributing it to the misuse of the technology and a disconnect from established software engineering principles. He argues for a paradigm shift away from Python-centric approaches towards the JVM, introducing Embabel, a framework designed to build reliable, testable, and domain-integrated AI agents by tackling non-determinism and leveraging the strengths of the enterprise Java ecosystem.