[ 
https://issues.apache.org/jira/browse/CXF-4817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14235647#comment-14235647
 ] 

Erwan Fouret commented on CXF-4817:
-----------------------------------

I continued investigating and found that the real issue is that the custom 
{{AsyncListener}} gets lost when the response is ready. Indeed, this will 
indirectly cause a call to {{Servlet3ContinuationProvider.getContinuation()}} 
which will call {{Servlet3Continuation.startAsyncAgain()}} which will then call 
{{req.startAsync()}}. This last call erases previously registered listeners and 
thus no call to {{onComplete()}} will be seen on any custom listener.
Perhaps {{Servlet3ContinuationProvider.getContinuation()}} shouldn't call 
startAsync() when a continuation already exist?

> JAX-RS AsyncResponse implementation needs to call AsyncContext.complete after 
> the request is done
> -------------------------------------------------------------------------------------------------
>
>                 Key: CXF-4817
>                 URL: https://issues.apache.org/jira/browse/CXF-4817
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>            Reporter: Sergey Beryozkin
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 2.7.4, 3.0.0-milestone1
>
>
> This will help with a better recycling of threads plus will get AsyncListener 
> onComplete and onError callbacks called - for the registered completion 
> callbacks be notified



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to