👋 Java Devs! Welcome to this weeks edition. I hope you all are doing great!
This week brings a strong mix of AI-meets-Java content alongside some solid core platform updates. On the AI side, we've got governed agent orchestration with Quarkus Flow and MCP, Spring AI's take on the Agent2Agent protocol for multi-agent systems, and a candid look at where we actually stand on the "AI adoption ladder."
On the platform front, there's encouraging news on post-quantum cryptography making its way to older LTS releases, an early look at Project Valhalla's plans for new numeric types, and a couple of clever libraries worth adding to your toolbox ; from idempotent REST endpoints to embedding DuckDB for zero-setup data crunching. Plus JIT compiler internals, WebAssembly on the JVM, and JobRunr landing on Spring Initializr. Let's dive in!
📢 Get actionable Java and Spring Boot insights every week, including practical code tips and real-world, use-case-based interview questions, to help you level up your backend skills—join 8200+ subscribers for hand-crafted, no-fluff content.
Upgrade to paid now (60% discount) and get the annual membership at $50/year forever that is ~ $4/mo.
Testimonials
This article explores how Java developers can build more reliable and governed AI agent workflows using Quarkus Flow, LangChain4j, MCP, and AGENTS.md. Instead of relying on fragile custom loops, Quarkus Flow handles orchestration with retries, conditional loops, iteration limits, and human approval gates, while MCP provides standardized access to external tools and systems. AGENTS.md adds a governance layer for defining agent roles, security boundaries, and output requirements without hardcoding those rules into Java code
This article explains why the order of Resilience4j components matters when combining Retry, CircuitBreaker, TimeLimiter, and Bulkhead. Spring AOP wraps these components as nested layers, so changing their order changes what each one actually measures and controls. It also covers how to explicitly control aspect ordering, fallback behavior, and the impact of wrapper placement on timeouts, concurrency limits, metrics, and failures
This article introduces a Spring Boot starter that makes REST endpoints idempotent with a simple @Idempotent annotation. It handles duplicate requests using an idempotency key, replaying the original response instead of executing the operation again; a useful pattern for APIs where retries could cause problems like double charges. The library supports Redis and JDBC/Postgres storage, handles concurrent requests using atomic claims, and can either wait for the original request or fail fast with 409.
This article explains how Spring Boot's IoC Container manages beans as singletons by default, so one instance is created per container and shared everywhere it's injected; a pattern useful because it avoids manual singleton boilerplate and redundant object creation across ourt app. The container builds bean definitions at startup, eagerly instantiates them via reflection, and hands out the same object on every injection, though @Lazy can defer creation and @Scope("prototype") can opt a bean out of singleton behavior.
This article demonstrates the Agent2Agent (A2A) Protocol using Spring AI, which lets independently-built AI agents discover each other via a published "Agent Card" and exchange tasks; useful when we split complex work across specialized agents rather than one monolithic one. It walks through building a job-screening system: an orchestrator agent acting as an A2A client discovers three remote specialist agents (each an A2A server) at startup, delegates candidate evaluation tasks to them via tool calls, and merges their responses into one summary.
This article covers Push V3, a rewrite of Codename One’s push system that replaces certificates and numeric push types with a typed PushMessage model, managed provider credentials, server-side segmentation, and direct updates to Surfaces like widgets and Live Activities. The release also previews four related changes: a Maven repository move off Central, on-device AI/MCP tooling, a HealthKit/Health Connect API, and a new road-routing API using OSRM.
This article shows how to embed DuckDB in a Maven project as a single JDBC dependency (no server, no install), and how it can query CSV, JSON, or Parquet files; local or over HTTP; directly as SQL tables without ever creating a database. It walks through a full example that aggregates a remote CSV of penguin data straight from a GitHub URL using plain java.sql code, no schema definition required. It frames DuckDB less as a database and more as a drop-in replacement for hand-rolled CSV parsing, in-memory aggregation logic, test-data generation, and reading Parquet without pulling in the Hadoop ecosystem.
This post outlines Oracle's plan to bring post-quantum cryptography to older, supported Java LTS releases (25, 21, 17, 11, 8), not just new JDKs, so apps can gain quantum-resistant TLS through updates and config alone. Groundwork includes JDK 24's ML-KEM/ML-DSA algorithms and JDK 27's hybrid PQC TLS 1.3 key exchange (GA September 2026), with older LTS versions reaching parity between October 2026 and late 2027.
📢 If you have a product or services that you like to present in front of ~8200 Java and Spring Developers , considering sponsoring this newsletter.
This video breaks down Boris Cherny's five-step "AI adoption ladder" for coding agents; from Step 0 (copy-pasting between a chatbot and your IDE, you're the bottleneck) through Step 1 (assisted pair-programming with manual review), Step 2 (orchestrating 5-10 parallel agents), Step 3 (supervised autonomy), to Step 4 (fully autonomous, AI-native loops). The core lesson: moving up a step isn't about using more tokens, it's about removing bottlenecks and adding guardrails like automated verification.
This QCon London talk introduces yk, an open-source meta-tracing JIT compiler that bolts onto existing C-based interpreters (Lua, MicroPython) with minimal code changes (~400 lines added, under 5% of the codebase) while still delivering real speedups (~4x on a benchmark, ~2x geomean). The key idea: treat the existing C interpreter as the source of truth rather than writing a new one from scratch (unlike PyPy/RPython or Truffle), avoiding the compatibility drift that's killed most prior dynamic-language JIT projects.
This InfoQ interview features Andrea Peruffo discussing Chicory, his project for running WebAssembly on the JVM, framing it as a way to reuse existing Wasm-compiled libraries (databases, parsers, JS engines like QuickJS) safely and portably in Java without JNI's crash risks and OS-specific builds. He covers WASI's progress (core spec finalized, WASI GC letting languages like Scala.js and Kotlin target Wasm, and the upcoming component model in WASI P3), real production use cases (Trino's Python UDFs, JRuby's Prism parser compiled to Wasm and sped up 10x via Java bytecode compilation, and Shopify's QuickJS engine embedded in Microcks for API mocking), and Chicory's execution layers.
This JavaOne talk by Joe Darcy (Oracle) explores speculative, in-development paths for adding new numeric types to Java, tied to Project Valhalla's value classes and type classes work. He motivates the need with use cases like scientific computing and especially ML/AI, which favors smaller formats (float16, bfloat16, 8-bit floats), and explains Java's divide between reference types (flexible, identity-based) and primitive types (fast, dense, no identity) that Valhalla aims to bridge. Drawing an analogy to abstract algebra's number hierarchy versus the Java Collections Framework, he argues Java doesn't need full mathematical richness.
This Spring demo (likely Josh Long) celebrates JobRunr; a distributed Java job scheduling engine; landing on Spring Initializr as a modern, easier alternative to Quartz. He builds a quick Spring Boot app with JobRunr, Postgres, and OpenTelemetry, showing how to define a JobRequest/JobRequestHandler, enqueue jobs (immediate, delayed, or cron-based recurring), and monitor everything via JobRunr’s built-in dashboard.
Spring Boot Interview Quiz: What Happens to the Transaction?
Spring Boot Interview: The Event That Lied About Being Saved
Spring Data JPA Interview Quiz : Why did Hibernate execute an UPDATE without calling save()?
Thats all for this week friends! Thanks for reading this far. If you liked it please like and share with your network.
📢 If you have a product or services that you like to present in front of ~8000 Java and Spring Developers , considering sponsoring this newsletter.
Happy Coding 🚀
Suraj
Subscribe | Sponsor us | LinkedIn | Twitter | Youtube

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.