Hi You might want to double check your predicate works as expected <simple>${in.body} != null</simple>
The simple language might not work with null as such. I guess I need to double check myself. And it reminds me we might want to add a better syntax error detection as well. I will go create a ticket about this. On Fri, May 1, 2009 at 8:54 PM, jburkhardt <jasonburkha...@yahoo.com> wrote: > > Ahhh alright after some more time reading I've come up with a solution thanks > to you guys.. Here is what I've got now (publish route omitted): > <camel:route> > <camel:from uri="direct:processors"/> > <camel:process ref="validationProcessor"/> > <camel:filter> > <simple>${in.body} != null</simple> > <camel:process ref="securityProcessor"/> > </camel:filter> > </camel:route> > > <camel:route> > <camel:from > uri="jmsBean:queue:IncomingQueue?exchangePattern=InOut?disableReplyTo=true"/> > <camel:split strategyRef="myAggregationStrategy"> > <xpath>//myxpath</xpath> > <camel:to uri="direct:processors"/> > </camel:split> > <camel:filter> > <simple>${in.body} != null</simple> > <camel:to uri="direct:publish"/> > </camel:filter> > </camel:route> > > This seems to work well.. Any critiques or suggestions for how I could > improve things further are very welcome. > Thanks, > Jason > > > > Claus Ibsen-2 wrote: >> >> On Thu, Apr 30, 2009 at 10:13 PM, jburkhardt <jasonburkha...@yahoo.com> >> wrote: >>> >>> I've looked around JIRA and it seems using stop in spring dsl used to be >>> an >>> issue but has been resolved since Feb 09. Perhaps I am attempting to use >>> it >>> incorrectly. >>> I am using Camel 2.0 M1 >>> >>> Here's what I'm trying to do: >>> I have a route that receives messages from a JMS queue. >>> After receiving the message it is run through a splitter, each >>> "sub-message" >>> for lack of a better term, gets run through a validation process and a >>> security process. The results are then aggregated back together and >>> continue on the route. >>> >>> Here is what I'm doing now in my spring dsl: >>> <camel:route> >>> <camel:from >>> uri="jmsBean:queue:IncomingQueue?exchangePattern=InOut?disableReplyTo=true"/> >>> <camel:split strategyRef="myAggregationStrategyBean"> >>> <xpath>//myxpath</xpath> >>> <camel:process ref="validationProcessor"/> >>> <camel:process ref="securityProcessor"/> >>> </camel:split> >>> . >>> . >>> . >>> </camel:route> >>> >>> Right now this works okay - I set an exception on the exchange in the >>> validation or security process if it fails, and it does not get past the >>> split. >>> My issue is if it fails the validation process, I don't want it to even >>> bother going to the security process, let alone to the aggregator after >>> that. Likewise if it fails security I don't want the aggregator to be >>> called. >>> Is this something that is possible? Or is there some better way to >>> accomplish what I am trying to do? >> >> Take a look at the filter EIP. It can drop unwanted messages. >> http://camel.apache.org/message-filter.html >> >> And should be what your are looking for. >> >> >>> >>> I have tried defining an interceptor like this: >>> <camel:intercept> >>> <camel:when> >>> <simple>${exception.message} != null</simple> >>> </camel:when> >>> <camel:stop/> >>> </camel:intercept> >>> >>> Hoping that the interceptor would pick when I had set an exception on the >>> exchange and stop the route. This doesn't seem to have any effect. The >>> aggregator is still called every time. >> >> Yeah the intercept is really for incoming messages, should have had a >> better name IMHO. >> I recently blogged about it and updated the wiki about interceptors in >> Camel: >> http://camel.apache.org/intercept.html >> >> >> >>> >>> Any help, especially if I am trying to do something completely the wrong >>> way, would be much appreciated. >>> Thanks, >>> Jason >>> -- >>> View this message in context: >>> http://www.nabble.com/stopping-a-route-in-spring-dsl-tp23322604p23322604.html >>> Sent from the Camel - Users (activemq) mailing list archive at >>> Nabble.com. >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> Apache Camel Reference Card: >> http://refcardz.dzone.com/refcardz/enterprise-integration >> >> > > -- > View this message in context: > http://www.nabble.com/stopping-a-route-in-spring-dsl-tp23322604p23338072.html > Sent from the Camel - Users (activemq) mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus Apache Camel Reference Card: http://refcardz.dzone.com/refcardz/enterprise-integration