Quarkus Community Call - 2026-07-08 #55346
cescoffier
started this conversation in
Design Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The recording of the July 7th Quarkus Community Call is now available.
Recording: https://www.youtube.com/watch?v=3AVgGGxc5YY
Discussion notes: https://docs.google.com/document/d/1TgFZsuOQo9qZ4CnQII5LHhQVgMC6YsVMs1UJIAJooyM/edit?tab=t.0#heading=h.vsr1oshl0610
What We Covered
This session focused on JSON RPC and its role in the Quarkus ecosystem, presented by Phillip Kruger.
Quarkus 4 Quick Update
Clement shared a brief status update on Quarkus 4 development. The first beta is still on track for September 2026, and a detailed "state of development" post is being published on GitHub Discussions.
JSON RPC in Quarkus — Three Layers Deep
Phillip walked through the JSON RPC specification (a stateless, transport-agnostic RPC protocol from 2010) and then showed where Quarkus uses it today:
Dev UI — Under the covers, the Quarkus Dev UI uses JSON RPC over WebSocket to communicate between the browser and backend CDI beans. This is internal infrastructure, not a public API.
The
quarkus-json-rpcextension — Extracted from the Dev UI, this extension lets you turn any CDI bean into a JSON RPC endpoint with a single@JsonRpcApiannotation. It handles build-time discovery, blocking/non-blocking execution, streaming viaMulti, broadcasting, Open RPC schema generation, and even JavaScript client generation — so your Lit (or any JS) frontend can call backend methods with a simple import.MCP (Model Context Protocol) — MCP is built on JSON RPC. The
quarkus-mcp-serverextension lets you annotate Java methods to define AI tools, resources, and prompts. Dev MCP goes further: it gives coding agents the same access a developer has through the Dev UI, using the exact same backend services.Live Demo
Phillip demonstrated the full workflow: enabling the Dev UI JSON RPC log, adding the extension, creating endpoints with records and streaming, browsing the generated Open RPC schema, and using the generated JavaScript client in a Lit web component.
Discussion Highlights
@JsonRpcApicasing doesn't match the spec's "JSON-RPC". Phillip will adjust this with backward compatibility.curl), HTTP/3 for long-lived connections, and WebTransport were discussed as future directions.Next Calls
All reactions