Knock est le sous-système de santé du runtime Vidocq. Il implémente MicroProfile Health 4.0 avec zéro bibliothèque tierce — uniquement les spécifications Jakarta EE et MicroProfile. Les contrôles de santé sont découverts via CDI, exposés en Jakarta REST, sérialisés avec Jakarta JSON-P et exécutés sur des threads virtuels.
Origine du nom
Knock, ou le Triomphe de la médecine est une comédie de Jules Romains (1923). Le docteur Knock transforme un village entier en patients sous observation permanente — « tout homme bien portant est un malade qui s’ignore ». Le module Knock applique la même auscultation incessante à une application en cours d’exécution : les sondes de vivacité, de disponibilité et de démarrage maintiennent chaque composant sous diagnostic continu.
En un coup d’œil
Spécification implémentée |
|
Dépôt |
|
Java |
25 |
Modules JPMS |
|
Dépendances d’exécution |
Aucune au-delà de |
TCK MicroProfile Health 4.0 |
28 / 28 PASS — voir l’état détaillé |
Trois traits identitaires
-
Zéro bibliothèque tierce — uniquement MicroProfile Health et les specs Jakarta. Pas de SmallRye Health, pas de Vert.x, pas de Jackson. Le JSON est produit via Jakarta JSON-P.
-
Découverte native CDI — les beans
@Liveness,@Readiness,@Startupsont découverts par une Build Compatible Extension de Vauban et enregistrés automatiquement, tandis queknock-corereste utilisable en Java SE pur. -
JPMS strict + threads virtuels — chaque module fournit un
module-info.java; les contrôles s’exécutent sur unVirtualThreadPerTaskExecutor. Pas desynchronized, pas deThreadLocal, pas desetAccessible(true).
Points d’accès
| Point d’accès | Sonde | Statut HTTP |
|---|---|---|
|
Tous les contrôles enregistrés |
200 UP / 503 DOWN |
|
Contrôles |
200 UP / 503 DOWN |
|
Contrôles |
200 UP / 503 DOWN |
|
Contrôles |
200 UP / 503 DOWN |