Référence factuelle : artefacts Maven publiés, modules JPMS exportés, annotations Jakarta REST 4.0 supportées, propriétés de configuration.
Artefacts Maven
| Artefact | Rôle |
|---|---|
|
SPI publique : HTTP/transport ( |
|
Moteur JAX-RS (Invoker, ResourceScanner, RouteRegistry, MessageBodyRegistry, filtres, providers, SSE, multipart) + les générateurs d’adapters ( |
|
Client JAX-RS 4.0 — |
|
Adapter |
|
Transport de référence — branche Cassini sur Chappe (HTTP/1.1, H2, virtual threads). Utilisé pour le TCK. |
|
Transport JDK pur — |
|
Processeur d’annotations APT — génère les sources |
|
Plugin Maven (goal |
|
Exemples : |
cassini-tck n’est pas publié et est hors-reactor (POM modelVersion 4.0.0 standalone). Voir TCK — runner hors-reactor.
|
Modules JPMS
| Module | Exports / Provides |
|---|---|
|
|
|
Aucun export public.
|
|
|
|
|
|
|
|
|
|
|
cassini-core n’expose pas son CassiniRuntimeDelegate via ServiceLoader — c’est volontaire pour éviter une collision avec le RuntimeDelegate du transport actif (cassini-chappe ou cassini-jdk-http).
|
Annotations supportées
@Path, @GET, @POST, @PUT, @DELETE, @PATCH, @HEAD, @OPTIONS, @HttpMethod, @ApplicationPath,
@Produces, @Consumes,
@PathParam, @QueryParam, @HeaderParam, @CookieParam, @FormParam, @MatrixParam, @BeanParam,
@DefaultValue, @Encoded,
@Provider, @Priority, @NameBinding, @PreMatching,
@Context,
@Suspended (async — voir TCK pour l’état M2h).
CDI (avec cassini-cdi-vauban) : @ApplicationScoped, @RequestScoped, @Singleton, @Inject.
Interfaces JAX-RS implémentées
Application, SeBootstrap, Configuration, Configurable,
UriInfo, Request, HttpHeaders, SecurityContext, Providers,
MessageBodyReader, MessageBodyWriter, ContextResolver, ExceptionMapper,
ContainerRequestFilter, ContainerResponseFilter, ReaderInterceptor, WriterInterceptor,
DynamicFeature, Feature,
Sse, SseEventSink, SseBroadcaster,
AsyncResponse, CompletionCallback, ConnectionCallback,
EntityPart, EntityPart.Builder (multipart §3.5.4).
Côté client (cassini-client) : Client, ClientBuilder, WebTarget, Invocation, Invocation.Builder, AsyncInvoker, ClientRequestContext, ClientResponseContext, ClientRequestFilter, ClientResponseFilter.
Configuration
Cassini se configure via SeBootstrap.Configuration (standard) ou via le builder CassiniStack.builder() (avancé) :
Propriété |
Défaut |
Description |
|
|
Interface d’écoute du transport. |
|
|
Port HTTP. |
|
|
Préfixe de montage de l'`Application`. |
|
|
|
Quand Cassini est piloté par Vidocq Runtime (extension vidocq-rest-cassini), deux propriétés MicroProfile Config supplémentaires :
Propriété |
Défaut |
Description |
|
|
Préfixe de montage JAX-RS dans le serveur Vidocq. |
|
|
Listener Chappe cible. |