Engineering With Java: Digest #76
Spring AI with MCP, Rate limiting, GUI framework, Changes in JVM and more ...
👋 Java Devs! Welcome to this week’s addition! I hope you’re all doing great.
This week, we cover essential insights on:
📢 Get actionable Java/Spring Boot insights every week — from practical code tips to real-world use-case based interview questions.
Join 4300+ subscribers and level up your Spring & backend skills with hand-crafted content — no fluff.
Become paid subscriber and unlock all the benefits at $2.5/mo (with annual subscription).
Not convinced? Check out the details of the past work
But before we kick off , meme of the week 😊
🗒️ Articles Of The Week (9)
Spring AI with External MCP Servers : This article shows how to take Spring AI beyond local tools by connecting to external MCP (Model Context Protocol) servers that expose real APIs—like GitHub or SonarQube—so Spring Boot apps can use those capabilities in AI prompts and workflows. It walks through setting up those remote MCP servers and configuring a Spring AI client to talk to them, letting your AI integration tap into multiple data sources and services rather than keeping everything in a single project
WebAuthn Passkey Login Backed by Spring Boot : This article walks through how to build a passkey‑based login using WebAuthn backed by Spring Boot, showing how modern passwordless authentication works with platform authenticators like Touch ID, Windows Hello, and security keys. It covers creating and verifying registration and authentication challenges, integrating Spring Boot endpoints, and handling credentials securely so users get a smoother, phishing‑resistant login experience without traditional passwords.
Best Java GUI Frameworks for Modern Applications : This article surveys the best Java GUI frameworks for modern applications, comparing options like JavaFX, Swing, SWT, Vaadin, and newer web‑centric approaches. It highlights each framework’s strengths, typical use cases, and ecosystem support so we can pick the right tool for desktop or rich web interfaces. The goal is to help teams choose a UI stack that balances productivity, performance, and long‑term maintainability.
Java Explores Carrier Classes to Extend Data-Oriented Programming Beyond Records : This article explores how Java is evolving “beyond records” by extending and enriching its data modeling capabilities with features like value types and enhanced pattern matching. It highlights efforts to make immutable, structured data easier and more expressive in Java without losing performance or clarity, and it connects these advancements to broader improvements in the language’s type system and developer ergonomics. Overall, the piece shows Java steadily modernizing how we represent and work with data.
📢 Level up your system design & interview prep with ByteByteGo — expert-curated guides, visual diagrams & real-world patterns from the authors of the top system design books. Start mastering distributed systems the smart way
Rate Limiting Beyond “N Requests/sec”: This article explains adaptive rate limiting with Spring Cloud Gateway, showing how to dynamically throttle API traffic based on real‑time conditions rather than fixed quotas. It walks through using request patterns and response feedback to adjust limits on the fly, helping protect services from spikes and abuse while maintaining good performance and user experience.
From a JAR to a full-fledged MacOS app : This article walks through how to turn a plain Java JAR into a full‑fledged macOS desktop app using modern tooling like jpackage and the Java platform’s packaging capabilities. It covers bundling the JRE, configuring app icons and metadata, and producing a native‑looking .app bundle so Java apps feel like first‑class citizens on macOS with proper installation and user experience.
Why Clean Architecture Confuses Everyone : This post tackles why Clean Architecture often feels confusing in real‑world projects, arguing that strict theoretical layering can overcomplicate simple apps and obscure what actually matters. The author shares how focusing on practical separation of concerns, clear boundaries, and real code examples helped them make the ideas usable rather than intimidating, turning architecture from a scary buzzword into a guide for maintainable systems.
Semantic LLM Cache: Vector-Based Caching for Java (Spring Boot) : This article introduces semantic LLM caching in Java and Spring Boot, a way to store and reuse responses based on meaning rather than exact input matches. Instead of basic key‑value caches, this approach uses vector embeddings so similar queries hit the same cached result, reducing load on models and speeding up responses while keeping results relevant even when inputs vary slightly. It’s a practical way to make LLM‑powered apps more efficient without sacrificing quality.
Project Valhalla: Fundamental Changes in the JVM : This article gives a clear overview of Project Valhalla’s fundamental changes to the JVM — work that’s shaping up how Java handles data and performance at its core. It explains how features like value types, specialized generics, and improved memory layouts aim to remove long‑standing inefficiencies in object handling without losing Java’s safety. The result will be lighter, faster code with fewer hidden costs, bringing Java closer to the performance we’d expect from lower‑level languages while keeping its familiar model.
🔥 Recently Published In-house Blogs (6)
Spring Boot Interview Question – Securing Sensitive Fields in Records
Java Interview Question - Why you should not use static initializers?
Spring Boot Interview Question - Process Large Security Events File
📢 Checkout Java + Spring Boot + SQL Interview + Certification Prep -
It Includes
Grokking the Java Interview (Vol 1 & 2)
Grokking the Spring Boot Interview
Grokking the SQL Interview
Java SE 17 Developer Certification (1Z0-829) Guide
250+ Spring Framework Certification Practice Questions
▶️ Videos Of The Week (4)
Level Up Your LangChain4j Apps for Production : Author shared tips on building reliable AI apps with LangChain 4J, focusing on advanced RAG techniques, query transformers, and multiple content retrievers. She emphasized filtering irrelevant content, using metadata for access control, and wrapping RAG in tools for multi-step queries. She also covered dynamic tool management, “return immediate” for direct responses, and using AI services as tools, while noting smaller models may not reliably call tools.
LazyConstants in JDK 26 : Author explained JDK 26’s preview feature, lazy constants, which let Java defer computation while guaranteeing immutability once initialized. Lazy constants (LazyConstant) and lazy collections (List.ofLazy/Map.ofLazy) compute values on-demand, safely under concurrency, and enable JVM optimizations like constant folding. The evolution from JDK 25 to 26 shows OpenJDK’s approach: start with low-level mechanisms (@Stable), refine them internally, then expose a clean, high-level API. JDK 27 will likely simplify the API further, dropping some leftover methods.
The Ralph Loop Explained: Automate AI Coding Tasks in Java : The Ralph Loop is a technique for long-running tasks where each iteration starts with a fresh AI context, reading progress from a file, avoiding context-window bloat. By externalizing state, it lets agents work autonomously on one task at a time, writing updates and committing code as they go. This approach is ideal for complex projects or batch features, letting developers “set it and forget it” while the loop handles tasks step by step. The demo showed a Java vending machine project built entirely using this loop.
Spring AI Streaming Explained : This tutorial shows how to stream AI responses in Spring Boot using Spring AI, delivering output word by word like ChatGPT. Instead of waiting for the full response, a Flux stream sends chunks as they’re generated, improving user experience. By producing Server-Sent Events (text/event-stream), the backend can stream structured data easily to the frontend for real-time display. The demo illustrated this with OpenAI, showing live, reactive streaming in action.
🧑💻 Jobs Of The Week (5)
Thats all for this week! Thanks for reading this far. If you liked it please share with your network.
Happy Coding 🚀
Suraj




