You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2015/04/09 13:15:12 UTC

[jira] [Commented] (CXF-6340) Return value of AsyncResponseImpl.cancel() not follow JAXRS 2.0 javadoc

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

Sergey Beryozkin commented on CXF-6340:
---------------------------------------

Thanks, I've updated the code a bit.
The API docs are somewhat difficult to read, but basically, if the request was not cancelled and is not suspended - then it is false; if it was cancelled or resumed (*as part of the cancel process where the suspended thread has to be resumed*) then it is the idempotent 'true'. I've tuned the code and now it should be fine. Thanks

> Return value of AsyncResponseImpl.cancel() not follow JAXRS 2.0 javadoc
> -----------------------------------------------------------------------
>
>                 Key: CXF-6340
>                 URL: https://issues.apache.org/jira/browse/CXF-6340
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.4
>            Reporter: Wei Zhang
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> According to JAX-RS2.0 javadoc:
> Invoking a cancel(...) method multiple times to cancel request processing has the same effect as canceling the request processing only once. Invoking a cancel(...) method on an asynchronous response instance that has already been cancelled or resumed has no effect and the method call is ignored while returning true, in case the request has been cancelled previously. 
> But current implementation of AsyncResponseImpl.cancel() return false when response instance has already been cancelled or resumed.
> In method doCancel, found:
>     private synchronized boolean doCancel(String retryAfterHeader) {
>         if (!isSuspended()) {
>             return false;        



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