[ 
https://issues.apache.org/activemq/browse/CAMEL-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43510#action_43510
 ] 

Gert Vanthienen commented on CAMEL-612:
---------------------------------------

Claus,

I actually do think this use case for a choice() block does make sense.  I 
definitely do not want all my unmatched exchanges to go to any third customer, 
so I usually code something like:
{code}
...otherwise().process(new Processor() { //make the exchange fail here });
{code}
... to get my RouteBuilder's error handler to pick it up.

We should at least make this behavior easier to implement or maybe even make it 
the default when no explicit otherwise() was given.  

Gert

> Exchange should end in error when no choice in a ChoiceType matches
> -------------------------------------------------------------------
>
>                 Key: CAMEL-612
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-612
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.3.0
>            Reporter: Gert Vanthienen
>            Assignee: Gert Vanthienen
>
> When you define a route with a choice() and no matching when() clause is 
> found, the Exchange just ends successfully without doing anything.  In my 
> mind, it should fail by default in this case (or we should at least have an 
> easy way to get this behavior).
> {code}
> from(DIRECT_ROUTER).choice()
>   .when(xpath("/oc:order_confirmation/oc:order/oc:customer/@category = 
> '140'"))
>     .to(DIRECT_CUSTOMER1)
>   .when(xpath("/oc:order_confirmation/oc:order/oc:customer/@category = 
> '116'"))
>     .to(DIRECT_CUSTOMER2);
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to