Hi,
You don't have to send message to the response queue. Camel will create a
temporary response queue for you:
from("jms:foo").setBody().constant("myresponse");
...
String response = producerTemplate.requestBody("jms:foo", "body",
String.class);
assertThat(response).isEqualTo("myresponse");
This is pretty convenient comparing to managing reply queue by yourself.
Cheers!
śr., 18.05.2016 o 09:22 użytkownik Adarsh_GU <[email protected]>
napisał:
> Hi, iam new to camel,Im trying to implement a synchronous request-reply
> mechanism using camel component.
> I have 2 wmq queues
> *1. requestQuee - application will send requests to this queue
> 2. responseQueue - application will have to listen & receive response from
> this queue *
>
>
> / <route id="jms-sync-route">
> <camel:from uri="direct:jms" />
> <camel:to
>
> uri="jms:queue:requestQuee?replyTo=queue:responseQueue&exchangePattern=InOut"
> />
> </route> /
>
>
> / <camel:route id="mockresponse">
> <camel:from
> uri="jms:queue:requestQuee?concurrentConsumers=5"/>
> <camel:process ref="jmsResponseListener" />
> <camel:to uri="jms:queue:responseQueue"/>
> </camel:route>/
>
>
> bean jmsResponseListener having logic
> public class MockResponseGenerator implements Processor{
> /
> public void process(Exchange ex) throws Exception {
> ex.getIn().setBody("<res>mockresponse</res>");
> String msgid=(String) ex.getIn().getHeader("JMSMessageID");
> if(msgid != null){
> ex.getIn().setHeader("JMSCorrelationID",msgid);
>
> }
> }
>
> }/
>
> *I getting error as follows,it is observed that. message is en queued to
> requestQuee , but not de queued.*
>
>
> /Caused by: org.apache.camel.ExchangeTimedOutException: The OUT message was
> not received within: 20000 millis due reply message with correlationID:
> Camel-ID-ICB1864-58611-1463553066644-3-9 not received on destination:
> queue://responseQueue.
> Exchange[ID-ICB1864-58611-1463553066644-3-8][Message:
> <?xml version="1.0" encoding="UTF-8"?></
>
> *If i remove inout pattern.message is en queued to requestQuee and after
> dequeed by mockresponse route ,eventually MockResponseGenerator prepares
> mock response and enqueued to responseQueue.*
>
> Please update your suggestions to achieve the same. Thanks :)
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Camel-jms-In-Out-Pattern-tp5782730.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
--
Henryk Konsek
https://linkedin.com/in/hekonsek