Factual reference: published Maven artefacts, exported JPMS modules, supported Jakarta REST 4.0 annotations, configuration properties.
Maven artefacts
| Artefact | Role |
|---|---|
|
Public SPI: HTTP/transport ( |
|
JAX-RS engine (Invoker, ResourceScanner, RouteRegistry, MessageBodyRegistry, filters, providers, SSE, multipart) + the adapter generators ( |
|
JAX-RS Client 4.0 — zero-dependency |
|
|
|
Reference transport — wires Cassini onto Chappe (HTTP/1.1, H2, virtual threads). Used for the TCK. |
|
Pure JDK transport — |
|
APT annotation processor — generates |
|
Maven plugin ( |
|
Examples: |
cassini-tck is not published and is out-of-reactor (standalone modelVersion 4.0.0 POM). See TCK — out-of-reactor runner.
|
JPMS modules
| Module | Exports / Provides |
|---|---|
|
|
|
No public export.
|
|
|
|
|
|
|
|
|
|
|
cassini-core deliberately does not expose its CassiniRuntimeDelegate via ServiceLoader — to avoid a collision with the RuntimeDelegate from the active transport (cassini-chappe or cassini-jdk-http).
|
Supported annotations
@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 — see TCK for M2h status).
CDI (with cassini-cdi-vauban): @ApplicationScoped, @RequestScoped, @Singleton, @Inject.
Implemented JAX-RS interfaces
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).
Client side (cassini-client): Client, ClientBuilder, WebTarget, Invocation, Invocation.Builder, AsyncInvoker, ClientRequestContext, ClientResponseContext, ClientRequestFilter, ClientResponseFilter.
Configuration
Cassini is configured via SeBootstrap.Configuration (standard) or via the CassiniStack.builder() builder (advanced):
Property |
Default |
Description |
|
|
Transport listening interface. |
|
|
HTTP port. |
|
|
Mount prefix for the |
|
|
|
When Cassini is driven by Vidocq Runtime (the vidocq-rest-cassini extension), two extra MicroProfile Config properties:
Property |
Default |
Description |
|
|
JAX-RS mount prefix in the Vidocq server. |
|
|
Target Chappe listener. |