Vidocq Runtime is the runtime MicroProfile that assembles the six foundational bricks of the ecosystem — Chappe (HTTP transport), Vauban (CDI), Champollion (JSON), Foy (Servlet), Cassini (REST), Mansart (persistence) — into a coherent runtime inspired by the Quarkus extension model, but with no ASM, no runtime reflection, and no Vert.x.
Origin of the name
Eugène-François Vidocq (1775-1857), an escaped convict turned founder and first head of France’s Sûreté nationale (Brigade de la Sûreté, 1812). A precursor of forensic science, he also founded the first private detective agency. See Wikipedia.
The metaphor faithfully reflects the role of the module. Vidocq fused heterogeneous informants into a modern police organisation. Vidocq Runtime fuses six disparate technical bricks — each named after another historical figure — into a coherent system. The umbrella project also lends its name to the entire ecosystem.
At a glance
Targeted MicroProfile specs |
https://microprofile.io/specifications/microprofile-config/, https://microprofile.io/specifications/microprofile-health/, https://microprofile.io/specifications/microprofile-metrics/, https://microprofile.io/specifications/microprofile-open-api/ (current milestone: Config, Health, Metrics, OpenAPI) |
Repo |
|
Java |
25 (LTS) |
Build |
Maven 3.9.16 |
JPMS modules |
|
Runtime dependencies |
Jakarta + MicroProfile specs only — no third-party framework |
TCK |
See detailed status — JAX-RS via Cassini, Servlet via Foy, MicroProfile in progress |
Differentiators
-
Java 25 + virtual threads —
Executors.newVirtualThreadPerTaskExecutor()everywhere, no platform thread pools. -
Strict JPMS — every artefact is a named module, minimal
exports, no hidden classpath. -
Static codegen — Class-File API (JEP 484) + APT at compile time, no dynamic proxies, no ASM, no Byte Buddy.
-
Zero runtime reflection — anything that can be is resolved at build, AOT-ready (GraalVM, Leyden CDS).
-
Build-time first — like Quarkus, but on a CDI Lite + Class-File API standard JDK foundation.
Quick links
-
Getting started — REST + DI + H2 persistence hello world
-
Usage — jlink/jpackage/Docker packaging, MicroProfile Config, Health, Metrics, OpenAPI
-
Concepts — extension, build step, recorder, lifecycle phase
-
Internals — boot sequence, extension mechanism, threading
-
TCK status — MicroProfile Config, Health, Metrics, OpenAPI
-
Reference — configuration keys, Maven CLI, properties
-
Migration — from Quarkus, Helidon, Spring Boot, Open Liberty, Payara Micro