[
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)