camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <willem.ji...@gmail.com>
Subject Re: What to do with HTTP response when route from HTTP to JMS?
Date Wed, 12 Aug 2009 05:20:21 GMT
Hi,

Did you just want to send the InOnly exchange (which will not wait for 
the response from the queue) to the JMS queue ?
If so , you can define the route rule like this

from("jetty ....").process(...).inOnly().to("jms:queue")

then your client will not receive the ExchangeTimedOutException.

Willem

janylj wrote:
> Hello,
> 
> I am trying to implement a simple application using Camel, which expose as
> HTTP, then send a JMS message with the HTTP request data. My route is:
> 
> from("jetty:http://localhost:9080/myapp/myservice").process(new Processor()
> {
>        public void process(Exchange exchange) {
>             HttpServletRequest req =
> exchange.getIn().getBody(HttpServletRequest.class); 
>             String payload = req.getParameter("payload");
>             exchange.getOut().setBody(payload);
>        }
> }).to("jms:queue:some.test.queue");
> 
> When I run the application, my client which sends http request would fail:
> 
> org.apache.camel.ExchangeTimedOutException: The OUT message was not received
> within: 20000 millis on the exchange
> 
> I think it is because exchange.out is redirected to JMS. But how to send a
> http response with 200 status code after successfully sending the JMS
> message?
> 
> Thanks a lot.


Mime
View raw message