users@jax-rs-spec.java.net

[jax-rs-spec users] [jsr339-experts] Re: Re: Intercepting after MBR reads the stream but before invoking ?

From: Sergey Beryozkin <sberyozkin_at_talend.com>
Date: Sun, 13 Oct 2013 18:34:31 +0100

Hi Santiago,
On 10/10/13 14:12, Santiago Pericas-Geertsen wrote:
>
> On Oct 9, 2013, at 4:48 PM, Sergey Beryozkin <sberyozkin_at_talend.com> wrote:
>
>> Hi
>> On 09/10/13 17:19, Santiago Pericas-Geertsen wrote:
>>>
>>> On Oct 8, 2013, at 7:46 AM, Sergey Beryozkin <sberyozkin_at_talend.com> wrote:
>>>
>>>> Hi
>>>>
>>>> Now and then we get the queries on how to get access not only to the target class/method (ResourceInfo helps there) but to the parameter instances, before the application code gets invoked, example for the monitoring purposes.
>>>> ResourceInfo + UriInfo + accessing InputStream if any from the filters can offer the way to access all of the values representing individual target method parameters, but I wonder if we can offer something simpler/cooler,
>>>>
>>>> Any ideas ? what about introducing one extra stage, in addition to Pre and Post matching, PreInvoking where we'd have a provider like ResourceInfoFilter with the signature like this:
>>>>
>>>> ResourceInfo getResourceInfo();
>>>>
>>>> ResourceInfo will have a new method added too:
>>>>
>>>> List<Object> getMehodParameterValues();
>>>>
>>>> this will throw ISE unless invoked from ResourceInfoFilter ?
>>>
>>> If CDI is available, wouldn't a CDI interceptor work for this purpose?
>>>
>> I guess yes, Spring AOP will do too. Do you reckon it is completely out of JAX-RS scope, it seems we nearly have it, but may be you are right.
>
> Some people have already questioned the need for Entity Interceptors in JAX-RS, arguing that it is a cross-cutting concern better handled by other specs like CDI. This one seems like an even tougher sell IMO.
>
I've thought about it, and may be that is the right thing to do, i.e,
let other technologies deal with it.
That said, I wonder should we really worry about what the proponents of
using CDI or Spring AOP think about JAX-RS supporting something useful
for the developers which work with it ?

I'd say, we don;t need to worry, the exceptions thrown from foreign
interceptors will escape the JAX-RS chains, they are more expensive the
implementation-wise, if the proponents of not doing it in JAX-RS
disagree then let them come here and convince us :-)


Sergey


> -- Santiago
>


-- 
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com