Quinn,

 

Thanks for the response.  I think filter would be the closest solution to what 
I was looking for – better than what I contemplated to do with setting some 
headers and using <choice> in the route.  But they all have a problem with a 
long route having multiple steps:

 

<route id="child_route"> 
  <from uri="direct:foo"/> 
  <process ref="proc1"/> 
  <process ref="proc2"/> 
  <process ref="proc3"/> 
  <process ref="proc4"/> 
</route>

 

If we want to be able to return from any point in proc1, proc2, proc3 or proc4, 
it would be rather tedious to set up filters (or <choice>) at the beginning of 
each step.

 

Thanks again!

 

From: Quinn Stevenson [via Camel] 
[mailto:[email protected]] 
Sent: Saturday, April 2, 2016 10:43 PM
To: bocamel <[email protected]>
Subject: Re: How to return early from a direct: subroute?

 

What about using a filter?  I think that can do what you’re after. 


> On Apr 2, 2016, at 8:40 PM, bocamel <[hidden email]> wrote: 
> 
> Taariq, 
> 
> 
> 
> Thank you very much for your response.  I think your suggestion is very 
> interesting, though it was not exactly what I was looking for. 
> 
> 
> 
> Conceptually, to me, a direct: route is just a method call.  But I cannot 
> find an easy way to exit/return from such a method before it reaches its 
> end.  While one might be able to use a dynamic router with slip returning a 
> null value to fake this, it is not very straightforward.  I wish there is an 
> exchange property ROUTE_RETURN that simply causes the exchange to exit the 
> current route and returns to the parent route if it has a parent route. 
> 
> 
> 
> Thanks again! 
> 
> 
> 
> From: taariq [via Camel] [mailto:[hidden email] <mailto:[hidden email]>] 
> Sent: Friday, April 1, 2016 3:36 PM 
> To: bocamel <[hidden email] <mailto:[hidden email]>> 
> Subject: Re: How to return early from a direct: subroute? 
> 
> 
> 
> Did you already look at the dynamic router and routing slip patterns? 
> 
> 
>> On 01 Apr 2016, at 17:12, bocamel <[hidden email]> wrote: 
>> 
>> I have two routes: 
>> 
>> <route id="route1"> 
>> <from .../> 
>> <to uri="direct:foo"/> 
>> <to uri=.../> 
>> </route> 
>> 
>> <route id="route2"> 
>> <from uri="direct:foo"/> 
>> <process ref="proc1"/> 
>> <process ref="proc2"/> 
>> </route> 
>> 
>> What should I do if, in proc1, I want to - for certain exchanges - return 
>> back to route1 without completing the entire route2?  I know the 
> ROUTE_STOP 
>> property, but that would stop the exchange completely (without going back 
> to 
>> route1).  I can also set some header(s) and then use <choice> in the 
> route2 
>> to achieve it.  But I wonder if there is something analogous to ROUTE_STOP 
> 
>> but more functions like ROUTE_RETURN. 
>> 
>> Any help would be greatly appreciated. 
>> 
>> 
>> 
>> 
>> -- 
>> View this message in context: 
> http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute
> -tp5780262.html 
>> Sent from the Camel - Users mailing list archive at Nabble.com. 
> 
> 
> 
>  _____   
> 
> If you reply to this email, your message will be added to the discussion 
> below: 
> 
> http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute 
> <http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute>
>  
> -tp5780262p5780271.html 
> 
> To unsubscribe from How to return early from a direct: subroute?, click here 
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscrib 
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscrib> 
> e_by_code&node=5780262&code=am9obnp5aW5AZ21haWwuY29tfDU3ODAyNjJ8Mjk3Mjc3MTQ4 
>> . 
> 
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_view 
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_view> 
> er&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNa 
> mespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.No 
> deNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_ema 
> ils%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> NAML 
> 
> 
> 
> 
> 
> -- 
> View this message in context: 
> http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute-tp5780262p5780328.html
>  
> <http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute-tp5780262p5780328.html>
>  
> Sent from the Camel - Users mailing list archive at Nabble.com 
> <http://nabble.com/>. 





  _____  

If you reply to this email, your message will be added to the discussion below:

http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute-tp5780262p5780329.html
 

To unsubscribe from How to return early from a direct: subroute?, click here 
<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5780262&code=am9obnp5aW5AZ21haWwuY29tfDU3ODAyNjJ8Mjk3Mjc3MTQ4>
 .
 
<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
 NAML 





--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-return-early-from-a-direct-subroute-tp5780262p5780330.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to