Hi I think you need to change the route like this

from("mina:tcp://localhost:6202?textline=true&sync=true").process(new
Processor() {
                    public void process(Exchange exchange) throws Exception {
                        String body = exchange.getIn().getBody(String.class);
                                Thread.sleep(30000);
                        exchange.getOut().setBody("Bye 1" + body);
                    }
                });

                from("file:///test/test/response")
                .convertBodyTo(String.class)
                .toAsync("mina:tcp://localhost:6202?sync=true&textline=true",10)
                .to("log:+++ reply++++");
To make sure the mina client can get the right response.

Willem

anandsk wrote:
Thanks. yes, I have seen the examples and I modified my code. but it still
doesn't deliver reply asyncronously.
I am thinking may be camel Mina's sync option may be conflicting with async
route. Please see my code below.

                
from("mina:tcp://localhost:6202?textline=true&sync=true").process(new
Processor() {
                    public void process(Exchange exchange) throws Exception {
                        String body = exchange.getIn().getBody(String.class);
                                Thread.sleep(30000);
                        exchange.getOut().setBody("Bye 1" + body);
                    }
                });
from("file:///test/test/response")
                .convertBodyTo(String.class)
                
.toAsync("mina:tcp://localhost:6202?sync=false&textline=true",10)
.to("log:+++ reply++++");


Claus Ibsen-2 wrote:
Have you seen the 2 asyncTo examples which are listed here?
http://camel.apache.org/examples.html



On Tue, Mar 2, 2010 at 5:10 PM, anandsk <sku...@arccorp.com> wrote:
Hi,
I tried this route with camel 2.2 and it is not forwarding response to
end
point defined in async "direct:response". also I see the logs showing
that
mina producer receiving the message back from tcp server but it is not
forwarding them to async endpoint. am I doing this wrong.

Thanks,
Anand
from("mina:tcp://localhost:6202?textline=true&sync=true").process(new
Processor() {
                   public void process(Exchange exchange) throws
Exception {
                       String body =
exchange.getIn().getBody(String.class);
                       //Thread.currentThread();
                               Thread.sleep(1000);
                       exchange.getOut().setBody("Bye 1" + body+"\n");
                       //exchange.getOut().setBody("Bye 2" + body+"\n");
                   }
               });


               //from("jms:test.Camel1")
               from("file:///test/test/response")
               .convertBodyTo(String.class).threads(1)
               //.to("log:jms.queue.message")
               //.bean(smooks.StatusRequestMessageHandler.class)
               //.setHeader(MinaEndpoint.HEADER_MINA_IOSESSION,
expression)
               .to("mina:tcp://localhost:6202?textline=true&sync=true")
               .toAsync("direct:response",1)
               .to("log:direct");

                       from("direct:response")
                       .to("log:jms.queue.message");
--
View this message in context:
http://old.nabble.com/Mina-async-route-not-working-tp27757690p27757690.html
Sent from the Camel - Users mailing list archive at Nabble.com.




--
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