users@jax-rs-spec.java.net

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

From: Jan Algermissen <jan.algermissen_at_nordsc.com>
Date: Thu, 8 Nov 2012 15:35:47 +0100

On Nov 8, 2012, at 3:33 PM, Santiago Pericas-Geertsen <Santiago.PericasGeertsen_at_oracle.com> wrote:

> 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).

Ok, thanks. I don't care so much to get it working in practice. I just want to be sure the spec 'intends' it to work.

I take your reply as a 'yes' :-)

Jan



>
> -- 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
>>
>>
>