camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Little <graham.lit...@outlook.com>
Subject RE: RoutePolicy + Split
Date Wed, 29 Aug 2012 21:29:48 GMT
Hi Again,

Just in case you are interested you can see the workings of the MulticastProcessor class here
(http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?view=markup)



thanks

Graham

> From: graham.little@outlook.com
> To: users@camel.apache.org
> Subject: RE: RoutePolicy + Split
> Date: Wed, 29 Aug 2012 20:48:01 +0000
> 
> Hi, 
> 
> Isn't the behaviour of the splitter that the it splits the message and not the exchange,
therefore the message is split at the point of the call put on hold whilst all the messages
are sent to localSmsDeliveryEntry. Once this process is complete the single message is allowed
to cotinue, in this case to nowhere and so onExchangeDone is called? To have multiple onExchangeDone
calls triggered you would need to have multiple Exchanges. At least this is my understanding.
> 
> hope this helps,
> 
> Graham
> <camel:route id="routeLegacyDestinationEntry" routePolicyRef="loggingRoutePolicy">
> 	<camel:from ref="legacyDestinationEntry" />
> 	<camel:to uri="bean://legacyDestinationConsumer?method=process" />
> 	<camel:split parallelProcessing="true" streaming="true">
> 		<camel:simple>${body.envelopeList}</camel:simple>
> 		<camel:to ref="localSmsDeliveryEntry" />
> 	</camel:split>                        
> </camel:route>
> 
> > Date: Wed, 29 Aug 2012 12:47:12 -0700
> > From: garrydias@gmail.com
> > To: users@camel.apache.org
> > Subject: RoutePolicy + Split
> > 
> > Hy guys
> > 
> > I wrote the route below to perform this behavior:
> > 1) call onExchangeBegin once
> > 2) call onExchangeDone /body.envelopeList.size()/ times
> > 
> > <camel:route id="routeLegacyDestinationEntry"
> > routePolicyRef="loggingRoutePolicy">
> > 	<camel:from ref="legacyDestinationEntry" />
> > 	<camel:to uri="bean://legacyDestinationConsumer?method=process" />
> > 	<split parallelProcessing="true" streaming="true">
> > 		<simple>${body.envelopeList}</simple>
> > 		<to ref="localSmsDeliveryEntry" />
> > 	</split>                        
> > </camel:route>
> > 
> > But the current behavior is:
> > 1) call onExchangeBegin once
> > 2) call onExchangeDone once
> > 
> > If the *<to ref="localSmsDeliveryEntry" />* is the last "to" in the route,
> > why onExchangeDone is not called /body.envelopeList.size()/ times?
> > 
> > 
> > 
> > 
> > --
> > View this message in context: http://camel.465427.n5.nabble.com/RoutePolicy-Split-tp5718325.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>  		 	   		  
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message