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

[jsr339-experts] Re: Binding of ContainerRequestContext to Servlet

From: Markus KARG <markus_at_headcrashing.eu>
Date: Fri, 7 Sep 2012 17:49:29 +0200

Things are clear with your new proposed wording!

> -----Original Message-----
> From: Bill Burke [mailto:bburke_at_redhat.com]
> Sent: Freitag, 7. September 2012 15:22
> To: jsr339-experts_at_jax-rs-spec.java.net
> Subject: [jsr339-experts] Re: Binding of ContainerRequestContext to
> Servlet
>
>
>
> On 9/7/2012 7:53 AM, Markus KARG wrote:
> >> -----Original Message-----
> >> From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
> >> Sent: Freitag, 7. September 2012 11:37
> >> To: jsr339-experts_at_jax-rs-spec.java.net
> >> Subject: [jsr339-experts] Binding of ContainerRequestContext to
> >> Servlet
> >>
> >> The documentation for all the ContainerRequestContext methods to do
> >> with retrieving or setting the properties refers to Servlet
> >> (effectively
> >> HttpServletRequest) attributes.
> >>
> >> getPropertyNames() even returns Enumeration.
> >>
> >> This concerns me a bit. I think if some users are keen to work with
> >> Servlet API in context of JAX-RS then they will expect more than
> just
> >> the ability to get an access to the underlying Servlet attributes.
> In
> >> other words, they'd want HTTPServletRequest.
> >>
> >> AFAIK, the whole idea was to be able to exchange properties between
> >> the filters, as such I do not see why Servlet even has to be
> >> mentioned, and the ancient legacy Enumeration interface has to be
> >> introduced into the signature.
> >>
> >> It also may send a message that JAX-RS is some kind of thin wrapper
> >> on top of Servlet API.
> >>
> >> Thoughts ?
> >>
> >> Cheers, Sergey
> >
> > I also think that the JAX-RS API should not be too Servlet API
> > related. If a container is not using Servlet at all (what might
> become
> > more and more essential in future, when platforms turn from Web
> > Hosting Cluster to Application Clouds), there should be no need for
> > the implementor to provide a Servlet API class. This has some kind of
> > design smell ("We all base on Servlet API, so let's assume this for
> all others").
> >
>
> I think you're misunderstanding things. There is no requirement on the
> Servlet API, just that Filter/Interceptor properties are backed by
> HttpServletRequest in a servlet environment. This makes JAX-RS more
> seemless integratable.
>
> Maybe a changing of the wording is:
>
> Properties should be backed by any underyling mechanism to associate
> properties with the http request. So, a JAX-RS container written on
> top of the Servlet API should have properties backed by
> HttpServletRequest attributes. This allows JAX-Rs filters and
> interceptors to seemlessly pass information between JAX-RS and their
> underlying http implementations.
>
> That clear things up?
>
> FYI, similarly, I'm pushing for Configurable.properties to be backed by
> ServletContext init/context params so you can easily pass config from
> web.xml into your components.
>
>
>
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com