vidocq-runtime-extensions is the set of extensions shipped out of the box, grouped by domain under five aggregators (essentials, jakartaee-core, jakartaee-web, microprofile, jpms-repackaged). Each leaf is an independent Maven artefact, activated by the user simply adding it as a dependency.
Coordinates
Parent artefact |
|
Source |
|
Catalogue
| Extension | Status | Role |
|---|---|---|
|
Shipped |
Wires Chappe as HTTP/1.1, H2, H3 transport. Configures bind via |
|
Shipped |
Wires Vauban as the CDI 4.1 Lite engine. Indexes beans at build time via APT. |
|
Shipped |
Wires Cassini for Jakarta REST 4.0. Generates static routing at build, bridges CDI via Vauban. |
|
Shipped (~90 % Servlet 6.1 TCK) |
|
|
Shipped |
Wires Champollion for JSON-P 2.1 and JSON-B 3.0. Triggers APT generation at build. |
|
Shipped |
Wires Mansart (Jakarta Data 1.0 + JDBC). Initialises the pool, scans |
|
Shipped |
Handles |
|
Planned |
https://microprofile.io/specifications/microprofile-config/ — external sources, profiles, typed conversion. |
|
Planned |
https://microprofile.io/specifications/microprofile-health/ — endpoints |
|
Planned |
https://microprofile.io/specifications/microprofile-metrics/ — Prometheus endpoint. |
|
Planned |
https://microprofile.io/specifications/microprofile-open-api/ — document generated at compile time. |
|
Planned |
MicroProfile JWT Auth. |
Typical lifecycle — Chappe example
The vidocq-runtime-chappe-webserver-extension extension illustrates the pattern. Four hook points:
| Phase | Actor | Priority | Action |
|---|---|---|---|
|
|
100 |
installs |
|
Contributors (REST, Servlet) |
500–9999 |
call |
|
|
10000 |
starts a |
|
|
10000 |
shuts servers down cleanly |
Other extensions follow comparable scheduling logic with their own priorities.
Activation by dependency
An extension activates as soon as it is on the module-path. No @EnableX annotation is required — the APT index detects the JPMS provides VidocqExtension declaration.
<dependency>
<groupId>io.vidocq.runtime.extensions.jakartaee.core</groupId>
<artifactId>vidocq-runtime-cassini-rest-extension</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
Next steps
-
SPI — how to write a new extension
-
TCK status — coverage by extension
-
Concepts — extension vocabulary