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

From: Sergey Beryozkin <>
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 <> wrote:
>> Hi
>> On 09/10/13 17:19, Santiago Pericas-Geertsen wrote:
>>> On Oct 8, 2013, at 7:46 AM, Sergey Beryozkin <> 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 :-)


> -- Santiago

Sergey Beryozkin
Talend Community Coders