[
https://issues.apache.org/jira/browse/CXF-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15430108#comment-15430108
]
onder sezgin commented on CXF-7011:
-----------------------------------
So that means, I suppose, i misundrstood suspension
timeout(continuation.suspend(TIMEOUT)). My understanding was that suspension
timeout was the maximum amount of time within which the suspension should have
resumed and If suspension timeout expires, continuation does not resume at the
server side. That's why I thought we should have detected the suspension
timeout(expiry) and mark camel exchange with an exchangetimedoutexception. So
that becomes wrong after your explanation.
There is no reason for camel such detection and mark the camel exhange with
expiry because apparently the request is not expired and only the suspension
timeout period has been elapsed.
Therefore how we fixed CAMEL-10171 is partially correct.
Doing
{code}
....
// The continuation could be called before the suspend is called
continuation.suspend(cxfEndpoint.getContinuationTimeout());
continuation.setObject(camelExchange);
....
{code}
before processing cxf exchange with async callback is right
But as you explained continuation suspension timeout, detecting continuation
expiry in camel-cxf with the following lines are irrelevant as this condition
is never met. (I mentioned here in
https://issues.apache.org/jira/browse/CXF-7011?focusedCommentId=15422696&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15422696)
{code}
....
else if (!continuation.isResumed() && !continuation.isPending()) {
....
}
{code}
I wish you stopped me when i described earlier.
Both fixes (done here and what i'd done in camel-cxf) resolve the memory leak
and requires code clean up in camel-cxf as of now, which has even no impact.
Thanks.
> same method signature needs to be added in Continuation
> -------------------------------------------------------
>
> Key: CXF-7011
> URL: https://issues.apache.org/jira/browse/CXF-7011
> Project: CXF
> Issue Type: Sub-task
> Components: Transports
> Affects Versions: 3.1.7
> Reporter: onder sezgin
> Fix For: 3.2.0
>
>
> As this method requires access over Continuation interface this should be
> provided and other implementations like transport-jms and transport-http with
> default implementation and transport-http-jetty with real implemenration
> should be provided.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)