[jax-rs-spec users] Re: Request for comments: Injecting _at_XxxParam into entity providers

From: Markus KARG <>
Date: Fri, 5 Feb 2016 17:55:12 +0100

As an alternative, we could grant MessageBodyWriter and resource classes
static access to a shared property map (just like interceptors share a
properties map). That way, a resource could get injected the @XxxParam
instance, then put it into the map, and the MBW could look it up from there.
That would be fine, too.


From: Bill Burke []
Sent: Donnerstag, 4. Februar 2016 20:31
Subject: Re: Request for comments: Injecting @XxxParam into entity providers


MBW, MBR, Interceptors, and Filters are all singletons. I have a ton of
implementations of these classses that do initialization at boot time.
@XXXParam annotations would require field injection which just would not
work with singletons.

So -1 unless you can provide a @Singleton annotation.

On 2/4/2016 2:01 PM, Markus KARG wrote:



I'd like to discuss an idea with you. I don't actually propose to do this
change in JAX-RS 2.1, but depending on the outcome of our discussion it
might make sense to prepare our products for such an API change to be part
of JAX-RS 2.2 or 3.0.


What I like you to comment on is that I really miss using @XxxParam in
entity providers.


Example: Today I wrote a MessageBodyWrite which needs to know the value of a
matrix param. I solved it by @Context UriParam and uses a rather lengthy
chain of API calls to finally get it. How much smarter the solution would
like if I just could use @MatrixParam instead!


So I really would love to get rid of the restriction that @XxxParam works
with resource class only, but in fact would like to allow its use on entity
providers also.


What do you think?



Bill Burke
JBoss, a division of Red Hat