I see, that's however a regression for tomcat users. could the async
listener wrapper impl this if a tomcat flag is switched on?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2016-05-17 13:03 GMT+02:00 Violeta Georgieva <miles...@gmail.com>:

> Hi,
>
> 2016-05-17 13:46 GMT+03:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
> >
> > the real issue is adding a listener there trigger onStartAsync()*ONLY*
> (no
> > onCompleted(), onTimeout(), onError() etc... cause
> > org.apache.catalina.core.AsyncContextImpl#setStarted does
> listeners.clear();
> > )
> >
>
> That's behaviour is by spec:
>
> "public void addListener(AsyncListener) - Registers the given listener for
> notifications of onTimeout, onError, onComplete or onStartAsync. The first
> three are associated with the most recent asynchronous cycle started by
> calling
> one of the ServletRequest.startAsync methods. The onStartAsync is
> associated to a new asynchronous cycle via one of the
> ServletRequest.startAsync
> methods."
>
> so you can do the following:
>
>         public void onStartAsync(AsyncEvent event) throws IOException {
>             // Re-add this listener to the new AsyncContext
>             event.getAsyncContext().addListener(this);
>         }
>
> Regards,
> Violeta
>
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > <http://www.tomitribe.com> | JavaEE Factory
> > <https://javaeefactory-rmannibucau.rhcloud.com>
> >
> > 2016-05-17 12:43 GMT+02:00 Rémy Maucherat <r...@apache.org>:
> >
> > > 2016-05-17 12:37 GMT+02:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
> > >
> > > > Only found https://bz.apache.org/bugzilla/show_bug.cgi?id=59261
> which
> > > > doesn't mean this code would be invalid
> > > >
> > > > Also if you add a listener eagerly you will have the start event and
> > > loose
> > > > all "end" (completed, timeout etc...) ones. This doesn't sound very
> > > > reliable.
> > > >
> > > > Can you point me out the related issue please?
> > > >
> > > > The bugzilla title says: "Request getAsyncContext should throw
> > > IllegalStateException if async is not started". So that's what happens
> now.
> > >
> > > Rémy
> > >
>

Reply via email to