Inyecciones de campo de contexto con ámbito de solicitud en singlete RESTEasy
Al intentar integrar RESTEasy con recursos singleton en OSGi (usando algo similar aresteasy-osgi-bundle), para mi sorpresa, inyectado en el campo@Context
UriInfo
estaba disponible y válido en cada solicitud.
Excavando más profundo, encontré magia proxy yThreadLocal
enResteasyProviderFactory
. Todo bien, pero no puedo encontrar ninguna referencia a tal comportamiento en los documentos, ni en RESTEasy ni en la especificación JAX-RS.
EnDocumentos de Jersey podemos encontrar algo como:
La excepción existe para objetos de solicitud específicos que pueden inyectarse incluso en el constructor o en los campos de clase [de recursos con alcance singleton - OP]. Para estos objetos, el tiempo de ejecución inyectará proxies que pueden enviar simultáneamente más solicitudes. Estos objetos de solicitud sonHttpHeaders
, Request
, UriInfo
, SecurityContext
. Estos proxies se pueden inyectar usando el@Context
anotación.
¿Cómo se ve en RESTEasy? ¿La implementación actual es estable o experimental? ¿Cuál es el conjunto de clases específicas de solicitud que se pueden inyectar en singletons?