Quantcast

Pass the properties for each request coming between the route definitions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Pass the properties for each request coming between the route definitions

vcamel9
I am unable to pass properties using setProperty or setheader Please see below? What is the best way?
I tried both ways(with header and property) but restlet uri definition is not able to find the property value for .  

<camelContext id="camel-orchestration" xmlns="http://camel.apache.org/schema/spring">
         <route id="_inputQRoute">
            <from id="camelQListener" uri="jmsamq:queue:abcInputQ"/>
            <setProperty propertyName="orderidInfo"><xpath>//orderid/text()</xpath></setProperty>
             
            <log message="Routed ${orderid} to Test queue"/>
            <recipientList id="dispatchToRoute">
                <simple>direct:abcRoute</simple>
            </recipientList>
        </route>
       
        <route id="abcRoute">
            <from id="abcRouteStarter" uri="direct:abcRoute"/>
            <to id="restServiceCall" uri="restlet:http://host:8080/ordDataPersist/order/orderData/getOrderData/${orderid}"/>
            <to id="_to1" uri="log:output"/>
            <to id="_to2" uri="direct:otherRoute"/>
        </route>
       

   I have to use pass the properties for each request coming between the route definitions. Anyone please let me know the best way to do it.
 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Pass the properties for each request coming between the route definitions

taariq
You're looking for "dynamic to", depending on your Camel version you may
have to use the recipient list eip instead.

See this faq
http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html

Cheers,
Taariq

On 19 Mar 2017 3:23 PM, "vcamel9" <[hidden email]> wrote:

I am unable to pass properties using setProperty or setheader Please see
below? What is the best way?
I tried both ways(with header and property) but restlet uri definition is
not able to find the property value for .

<camelContext id="camel-orchestration"
xmlns="http://camel.apache.org/schema/spring">
         <route id="_inputQRoute">
            <from id="camelQListener" uri="jmsamq:queue:abcInputQ"/>
            <setProperty
propertyName="orderidInfo"><xpath>//orderid/text()</xpath></setProperty>

            <log message="Routed ${orderid} to Test queue"/>
            <recipientList id="dispatchToRoute">
                <simple>direct:abcRoute</simple>
            </recipientList>
        </route>

        <route id="abcRoute">
            <from id="abcRouteStarter" uri="direct:abcRoute"/>
            <to id="restServiceCall"
uri="restlet:http://host:8080/ordDataPersist/order/orderData/getOrderData/${
orderid}"/>
            <to id="_to1" uri="log:output"/>
            <to id="_to2" uri="direct:otherRoute"/>
        </route>


   I have to use pass the properties for each request coming between the
route definitions. Anyone please let me know the best way to do it.




--
View this message in context: http://camel.465427.n5.nabble.
com/Pass-the-properties-for-each-request-coming-between-
the-route-definitions-tp5795777.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Pass the properties for each request coming between the route definitions

Claus Ibsen-2
In reply to this post by vcamel9
Use { } in the restlet uri as it supports REST placeholders.

And then use a header for the orderId as that is what { } refers to.

An alternative is to use dynamic-to which works for any Camel endpoint
http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html

On Sun, Mar 19, 2017 at 2:23 PM, vcamel9 <[hidden email]> wrote:

> I am unable to pass properties using setProperty or setheader Please see
> below? What is the best way?
> I tried both ways(with header and property) but restlet uri definition is
> not able to find the property value for .
>
> <camelContext id="camel-orchestration"
> xmlns="http://camel.apache.org/schema/spring">
>          <route id="_inputQRoute">
>             <from id="camelQListener" uri="jmsamq:queue:abcInputQ"/>
>             <setProperty
> propertyName="orderidInfo"><xpath>//orderid/text()</xpath></setProperty>
>
>             <log message="Routed ${orderid} to Test queue"/>
>             <recipientList id="dispatchToRoute">
>                 <simple>direct:abcRoute</simple>
>             </recipientList>
>         </route>
>
>         <route id="abcRoute">
>             <from id="abcRouteStarter" uri="direct:abcRoute"/>
>             <to id="restServiceCall"
> uri="restlet:http://host:8080/ordDataPersist/order/orderData/getOrderData/${orderid}"/>
>             <to id="_to1" uri="log:output"/>
>             <to id="_to2" uri="direct:otherRoute"/>
>         </route>
>
>
>    I have to use pass the properties for each request coming between the
> route definitions. Anyone please let me know the best way to do it.
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Pass-the-properties-for-each-request-coming-between-the-route-definitions-tp5795777.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2
Loading...