Claus Ibsen wrote:
On Wed, Mar 3, 2010 at 7:00 AM, anandsk <sku...@arccorp.com> wrote:
Hi, Thanks for the response.  I can use only one thread for sending messages
becuase I can have only one TCP connection to external server. if I change
sync flag to true then that thread is going to wait till the response comes
back before it sends another message right?. I want to be able to send
multiple requests one after the other without waiting for a response.
responses need to be processed asynchronously.So, I can't set sync flag to
true, is there any other solution to my problem.


I think you need to split it into 2 routes then. One for sending, and
the other for listening for responses.


I just wandering, how can the two routes share the same Mina session ?



Thanks,
Anand

willem.jiang wrote:
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




--
View this message in context: 
http://old.nabble.com/Mina-async-route-not-working-tp27757690p27764563.html
Sent from the Camel - Users mailing list archive at Nabble.com.






Reply via email to