You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Martin Krasser (JIRA)" <ji...@apache.org> on 2010/09/28 14:28:41 UTC

[jira] Issue Comment Edited: (CAMEL-3169) Add continuation synchronize block to avoid the CamelAsync API return earlier then the interceptor chain is suspend

    [ https://issues.apache.org/activemq/browse/CAMEL-3169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62192#action_62192 ] 

Martin Krasser edited comment on CAMEL-3169 at 9/28/10 8:27 AM:
----------------------------------------------------------------

{quote}
As CXF 2.2.x is using Jetty6 style continuation, and the camel-jetty is using Jetty7, we are facing different continuation implementation.
in CXF 2.2.x, you need to call the AsyncProcess process API before call the suspend, so the continuation.resume() could be called before continuation.suspend().
{quote}

ah, just looked at the jetty 6 docs (and also a CXF continuation example), they're using exclusive locks. Not sure if it is used only by this example or if it is required in general. Will dig in further when I find some time. Or do you have a link to documentation that is more clear about that?

{quote}
And the AsyncCallback done() is called always after the suspend, I don't think CamelContinuationServlet will have the issue that CXF continuation is faced.
{quote}

Not in the version that I linked before because that's the fixed version of the CamelContinuationServlet. The issue was in Camel 2.4.0

https://svn.apache.org/repos/asf/camel/tags/camel-2.4.0/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java

See also CAMEL-2986


      was (Author: mrt1nz):
    Hi Martin

{quote}
As CXF 2.2.x is using Jetty6 style continuation, and the camel-jetty is using Jetty7, we are facing different continuation implementation.
in CXF 2.2.x, you need to call the AsyncProcess process API before call the suspend, so the continuation.resume() could be called before continuation.suspend().
{quote}

ah, just looked at the jetty 6 docs (and also a CXF continuation example), they're using exclusive locks. Not sure if it is used only by this example or if it is required in general. Will dig in further when I find some time. Or do you have a link to documentation that is more clear about that?

{quote}
And the AsyncCallback done() is called always after the suspend, I don't think CamelContinuationServlet will have the issue that CXF continuation is faced.
{quote}

Not in the version that I linked before because that's the fixed version of the CamelContinuationServlet. The issue was in Camel 2.4.0

https://svn.apache.org/repos/asf/camel/tags/camel-2.4.0/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java

See also CAMEL-2986

  
> Add continuation synchronize block to avoid the CamelAsync API return earlier then the interceptor chain is suspend  
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3169
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3169
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-cxf
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>             Fix For: 2.5.0
>
>
> As the CamelAsyncProcess always takes some time to do it job, we barely hit the upper situation, but it still has chance to hit this situation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.