Seda component is not working as expected

Solution Unverified - Updated -

Issue

  • Is there any way to manage the execution of threads in seda component.
  • I want my route to work in a proper order. Kindly find the route code given below and check the comments.
  • My "acktogateway" bean is executing first , I am setting exhange body in that bean , then I am calling the seda component at the end of the route. Now I am expecting that the body set in "acktogateway" to be returned first and then the body set in seda route to be returned but I am not able to control the thread execution. I was able to achieve what I want by using the delay component which delays the thread execution but this is not what I want to do. Can you help me with a better solution to this .
<route>
             <from uri="cxf:bean:someServiceWF"/>
             <to pattern="InOnly" uri="seda:WFM_firstcall" />  <!--this is working fine-->
             <process ref="acktogateway"/>   <!--I am setting a body in this. I am expecting this body to be returned to the caller at the end of the route , BEFORE the seda bean's execution is completed but it is not working.-->
             <to pattern="InOnly" uri="seda:gatewayAck" /> <!--Some times seda beans execution is completed first and that body is returned to the caller instead of the body set in "acktogateway" bean called before seda component.-->
    </route>

    <route id="Notification">
            <from uri="seda:gatewayAck" />
            <process ref="spacktogateway" /> <!--this is supposed to run afer completion of acktogateway bean-->
            <to uri="cxf:bean:Gatewaycall" />
        </route>

Environment

  • Red Hat JBoss Fuse
    • 6.2.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.