On Sat, Mar 20, 2010 at 2:13 PM, Yari Marchetti <yari.marche...@dada.net> wrote:
> Hi everyone,
> i configured Camel with a route like:
>
> <route>
>    <from uri="activemq:test.queue"/>
>
>    <onException>
>        <exception>java.net.ConnectException</exception>
>        <redeliveryPolicy maximumRedeliveries="10"
>                                  backOffMultiplier="2"
>                                  delay="1000"
>                                  maximumRedeliveryDelay="60000"
>                                  useExponentialBackOff="true" />
>     </onException>
>    <setHeader headerName="CamelHttpMethod">
>        <constant>GET</constant>
>    </setHeader>
>    <to uri="http://localhost:81"; />
> </route>
>
> but i found 2 problems:
>
> 1) the exponential backoff and delay seems to not be working correctly
> With the above configuration i see 10 retries done in a timespan of 10ms or
> so. am i doing something wrong?
>
> 2) i need to set the query string for the http component but i can't find how.
> Reading the documentation i can find some examples using DSL, but i need
> to do it with Spring XML. is it possible? and would it be difficult to 
> transform every
> message header to a query string parameter?
>

See the Exchange as it has many constant keys.
I recon you need this key: CamelHttpQuery

For example:
exchange.getIn().setHeader(Exchange.HTTP_QUERY, "hl=en&q=camel");

<setHeader headerName="CamelHttpQuery">
    <constant>h1=en&g=camel</constant>
</setHeader>

Instead of the <constant> you can use a <methodCall> to invoke a POJO
where you return the query string as you like.



> Reading the documentation and the ML i was not able to find a solution. Maybe
> here someone does know the answers.
>
> Regards,
> Yari



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to