[jboss-jira] [JBoss JIRA] (WFLY-3962) onComplete for async listeners not always called

Brian Stansberry (JIRA) issues at jboss.org
Mon May 4 17:50:46 EDT 2015


     [ https://issues.jboss.org/browse/WFLY-3962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry updated WFLY-3962:
-----------------------------------
    Fix Version/s: 9.0.0.CR2
                       (was: 9.0.0.Beta1)


I'm adding Fix Version 9.0.0.CR2 to this, not because I know it will be fixed then (only Stuart can comment on that), but to get it out of the 9.0.0.Beta2 bucket where it may get lost.

> onComplete for async listeners not always called
> ------------------------------------------------
>
>                 Key: WFLY-3962
>                 URL: https://issues.jboss.org/browse/WFLY-3962
>             Project: WildFly
>          Issue Type: Bug
>          Components: Web (Undertow)
>    Affects Versions: 8.0.0.Final, 8.1.0.Final
>            Reporter: Heiko Rupp
>            Assignee: Stuart Douglas
>             Fix For: 8.2.0.Final, 9.0.0.CR2
>
>
> I have a servlet filter that does 
>            chain.doFilter(requestWrapper, responseWrapper);
>            if (request.isAsyncStarted()) {
>                asyncListener = request.getAsyncContext().createListener(JsonPAsyncListener.class);
>                request.getAsyncContext().addListener(asyncListener, requestWrapper, responseWrapper);
>            }
> And (sometimes) this works well so that the onComplete() method of the listener is called. 
> But this does not happen always. In some (repeatable) condition none of the callback methods in my AsyncListener are called.
> I was first thinking that the servlet (resteasy) behind chain.doFilter() is so fast that it completes
> before I can add the listener.
> But then I tried adding a Thread.sleep() in the RE code which did not change anything.
> Similar when I do a startAsync() and add the listener before calling chain.doFilter()
> This happens both on Wfly 8.0 and 8.1
> Basically it boils down that if the "backend" uses Futures.immediateFuture(result) , onComplete is not called.
> I have created a as small as possible war file + a read me on how to drive that via curl.
> See https://github.com/pilhuhn/misc/tree/master/web-goo
> I just added 2 examples to the readme file that show that if no
> wrapping by the filter is requested, the resteasy code works with
> both Futures.immediate... and Futures.transform(...)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list