users@jersey.java.net

Re: [Jersey] Jersey/JAX-RS and async servlets

From: jfarcand <jfarcand.oss_at_gmail.com>
Date: Wed, 15 Sep 2010 12:52:30 -0400

Salut,

On 10-09-15 12:12 PM, Chris Toomey wrote:
> We're looking to use both Jersey/JAX-RS and Jetty async continuations
> (later the equivalent async mechanism in the Servlet 3.0 API) for
> implementing a web service, and looking at the JAX-RS spec.
> (https://jsr311.dev.java.net/nonav/releases/1.1/spec/spec.html) it looks
> like the API model is incompatible w/ the async continuations model.
> Specifically, it stipulates that resource class methods must return a
> return value and that if it's void, an immediate 204 response is sent.
>
> Can anyone confirm this or explain how a Jersey/JAX-RS resource method
> would suspend itself w/o causing the response to the client to be committed?
>

Have you looked at Atmosphere (which support exactly what you want)?

    http://atmosphere.dev.java.net

Atmosphere has a module called Atmosphere Jersey which is exactly what
you are looking for. It works in all WebServer and support Servley 3 as
well.

As for your question, I don't think you can use Jetty Continuation
directly with Jersey. You need a framework (like Atmosphere) to
intercept the request under the hood and prevent Jersey from committing
the response.

You can take a look at Atmosphere's code if you want:

    http://github.com/Atmosphere/atmosphere

Look for AtmosphereFilter (Jersey's Filter) and JettyCometSupport.

A+

-- Jeanfrancois



> thx,
> Chris
>