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.