[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jetty-users] problem with continuation reuse - how to sync timeout with async task?
|
Hi,
On Mon, Nov 3, 2014 at 1:51 PM, Christoph Läubrich
<laeubi@xxxxxxxxxxxxxx> wrote:
> I'm using jetty-8 (embedded) and have a servlet that upon request starts
> some (lengthy) computation in the background and wants to return this to the
> user after completion.
> I try to use the
> https://wiki.eclipse.org/Jetty/Feature/Continuations#Suspend_Continue_Pattern
> (even though the problem will exits also with suspend/resume).
> The problem occurs when I set a timeout (I just want the task to wait a
> certian amaount of time for completion and cancel it then):
>
> If the continuation times out I send an error back to the client (see code
> below), but my async task still holds a reference to the continuation. Since
> jetty reuses the continuation object after timeout, when the task now
> finished and tries to contine the continuation I get problems since
> a) The continuation is reused but for a completely different request
> b) The continuation is reused but not reasigend yet
When the continuation expires, you should set a flag to your
background task to *not* use the continuation, since the response has
already been sent.
--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.