
The Java stories enterprise IT leaders actually read.
Volume 343, Issue 2 · 6 articles from 3 issues
InfoQ's weekly roundup covers JDK 27, OpenJProxy 1.0, A2A Jakarta, Azul Payara 7.4.0, BoxLang, and a new Netflix Java tool.
Oracle released JDK 27 with nine finalized JEPs, and JDK 28 Build 16 arrived with bug fixes. Jakarta EE 12's Core Profile is due in December, with Web and Platform profiles following in 2027.
Open J Proxy 1.0, a JDBC driver with local caching and leak detection, reached general availability, and Azul Payara 7.4.0 added MicroProfile 7.1 and Jakarta Agentic AI support.
Other updates include JHipster 9.4.0 (Playwright support), Ktor 3.6.0 (OpenID Connect auto-discovery), BoxLang 1.17.0, and a new Netflix Java Module System-based CLI tool.
Java news for the week of Sept. 28: JobRunr 9.0 and OpenXava 8.0 GA, JEP 544 targeted for JDK 28, and the new Lathe language server.
InfoQ's Java roundup for the week of September 28, 2026 covers the GA releases of JobRunr 9.0 and OpenXava 8.0, point releases of Quarkus, Micronaut, LangChain4j, Eclipse JNoSQL and Google's ADK for Java and Kotlin, and Lathe, a new Java language server.
JEP 544, Ahead-of-Time Code Compilation, was elevated to Targeted for JDK 28 to improve startup and warmup, and JDK 28 early-access Build 18 shipped.
Ivar Grimstad also provided an update on the firmed-up Jakarta EE 12 timeline.
A Spring project swaps Reactor for blocking APIs on JDK 25 virtual threads to simplify code and debugging.
The AngularAndSpring project was originally built on Spring Reactor for efficient use of OS threads and memory under load, at the price of a reactive style and hard-to-read stack traces.
With JDK 25 and Spring's virtual thread support, virtual threads unmount from OS threads while waiting and need minimal memory.
This lets a few OS threads serve very many requests.
The author refactored the project to blocking Spring APIs and explains how this keeps hardware efficiency while restoring readable code and stack traces.
JDK 28 targets ZGC adaptive heap sizing, faster ZGC startup and final Structured Concurrency; Grails 8 and Open Liberty ship.
InfoQ's roundup for the week of October 5 reports that JEP 546 (Adaptive Heap Sizing for ZGC), JEP 545 (Faster Startup and Warmup with ZGC) and JEP 543 (Structured Concurrency, finalized after seven previews) were proposed to target JDK 28, while Lazy Constants reached Candidate status for a fourth preview.
JDK 28 early-access build 19 is also available.
Elsewhere, Apache Grails 8.0 and Open Liberty 20.0.0.10 reached GA, GlassFish 8.0.5 improved deployment times, and TornadoVM, Infinispan, LangChain4j and Spock shipped point releases.
Treat the Kotlin versus Java choice as an investment decision tied to business pressures, not syntax.
The article argues that Kotlin-versus-Java debates stall because teams compare syntax and features instead of agreeing on the problem.
It proposes four business pressures to drive the decision: time to market, operational risk, talent economics and cross-platform consistency.
A stable backend with a small maintenance team faces different risks than a regulated payments service that changes weekly or a monorepo sharing logic across Android, backend and edge.
Enterprises should build a measurable business case, scope adoption and plan for a J-curve productivity dip.
JEP 505 makes parent-child task relationships visible so Java can cancel orphaned subtasks automatically.
With ExecutorService and Futures, the relationship between a request and its forked subtasks exists only in the programmer's head.
As a result, when one call fails, the other keeps holding connections and threads for a request that no longer exists.
The article argues that JEP 505 structured concurrency is mainly about making that task tree visible to the platform, so that failure, interruption or early return cancels the children.
Virtual threads make the issue sharper, because cheap threads encourage more forking and therefore more leaks.