jsr339-experts@jax-rs-spec.java.net

[jsr339-experts] Re: [jax-rs-spec users] INjecting ResourceContext into a filter.

From: Santiago Pericas-Geertsen <Santiago.PericasGeertsen_at_oracle.com>
Date: Thu, 8 Nov 2012 09:33:59 -0500

Jan,

 Good question. According to the spec this should work. Section 8.1 refers to the context types in Section 8.2 and ResourceContext is there. ResourceContext is in request scope and should be proxied when injected in a provider that is in application scope (the default for providers).

-- Santiago
 
On Nov 8, 2012, at 2:50 AM, Jan Algermissen <jan.algermissen_at_nordsc.com> wrote:

>
> Using ResourceContext, it would then also be possible to do the following, or?
>
> (Enable full per-request DI on arbitrary instance inside a provider)
>
>
> @Provider
> class TestFilter implements ContainerRequestFilter {
>
> @Context
> HttpHeaders headers;
>
> @Context
> ResourceContext rc;
>
>
> void filter(ContainerRequestContext requestContext) ... {
>
> SomeHelpingClass h = rc.initResource(new SomeHelpingClass(...))
>
> }
>
>
> }
>
>
> public class SomeHelpingClass {
>
> @PathParam("id") String id;
>
> public SomeHelpingClass() {
> }
>
> }
>
>
> Would that work?
>
> Jan
>
>