Re: Different response messages

2013-07-26 Thread Usha13
I am using simple Java to post messages. Heres the code:

//Reading the camel config from the spring config file
ApplicationContext context = new
ClassPathXmlApplicationContext(camel-client.xml);
CamelContext camel = context.getBean(camel-client,
CamelContext.class);

Endpoint endpoint = camel.getEndpoint(activemq:queue:numbers);


Exchange exchange = endpoint.createExchange(ExchangePattern.InOut);
// set the input on the in body
   String request = {MessageId:A0FA0DC53957743EE040100A0E540E97,  
EventType:Event1} ;

exchange.getIn().setBody(request);
   
// to send the exchange we need an producer to do it for us
Producer producer = endpoint.createProducer();
// start the producer so it can operate
producer.start();

// let the producer process the exchange where it does all the work
in this oneline of code
   
producer.process(exchange);
   
// get the response from the out body
   
String response = exchange.getOut().getBody(String.class);

I have been sending only Event1 to the queue



--
View this message in context: 
http://camel.465427.n5.nabble.com/Different-response-messages-tp5736239p5736302.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Different response messages

2013-07-24 Thread Usha13
Hello,

I am using an InOut queue and configured the following route on that queue:
  from(activemq:queue:numbers).unmarshal(mapFormat)
.choice()
.when(simple(${in.body['EventType']} == 
'Event1'))

.convertBodyTo(String.class)
.setHeader(Exchange.HTTP_METHOD, 
constant(GET))
.enrich(http://service1;, aggrStrategy)
.when(simple(${in.body['EventType']} == 
'Event2'))
.beanRef(multiplier, multiply)

.otherwise() 
.beanRef(multiplier, 
multiply)
;

I have implemented content enricher pattern here and the aggrStrategy will
retrieve a parameter from the response of service1, add it to the original
request and send that new response.

The first time I run this code it works fine and gives me the new response.
Then next time I run it, the response I get is the response directly from
service1. The aggregation strategy code is not applied and it just returns
the complete response from service1. I get this response for any event type
(EventType1, EventType2 etc). 
This happens in an alternate fashion. Meaning every second run I get the
wrong response.

I am using activemq component and activemq is running on my local machine. 

Am I missing some configuration or some piece of code here?

Thank you
Usha



--
View this message in context: 
http://camel.465427.n5.nabble.com/Different-response-messages-tp5736239.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Different response messages

2013-07-24 Thread Willem jiang
How did you feed the message to activemq?
Have you been always sending the Event1 to the queue?


--  
Willem Jiang

Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
  http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Thursday, July 25, 2013 at 6:52 AM, Usha13 wrote:

 Hello,
  
 I am using an InOut queue and configured the following route on that queue:
 from(activemq:queue:numbers).unmarshal(mapFormat)
 .choice()
 .when(simple(${in.body['EventType']} == 'Event1'))
  
 .convertBodyTo(String.class)
 .setHeader(Exchange.HTTP_METHOD, constant(GET))
 .enrich(http://service1;, aggrStrategy)
 .when(simple(${in.body['EventType']} == 'Event2'))
 .beanRef(multiplier, multiply)
  
 .otherwise()  
 .beanRef(multiplier, multiply)
 ;
  
 I have implemented content enricher pattern here and the aggrStrategy will
 retrieve a parameter from the response of service1, add it to the original
 request and send that new response.
  
 The first time I run this code it works fine and gives me the new response.
 Then next time I run it, the response I get is the response directly from
 service1. The aggregation strategy code is not applied and it just returns
 the complete response from service1. I get this response for any event type
 (EventType1, EventType2 etc).  
 This happens in an alternate fashion. Meaning every second run I get the
 wrong response.
  
 I am using activemq component and activemq is running on my local machine.  
  
 Am I missing some configuration or some piece of code here?
  
 Thank you
 Usha
  
  
  
 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/Different-response-messages-tp5736239.html
 Sent from the Camel - Users mailing list archive at Nabble.com 
 (http://Nabble.com).