Use .when(simple('${properties:comp1URI} != 'DISABLED'))
On Thu, Jul 24, 2014 at 3:23 PM, arnoldmad <arn...@maderthaner.me> wrote: > Hi ! > > I'm pretty new to camel and have the following Question: > > I have a route that uses multiple different components. based on the > availability of external systems I might want to use a component or not. > f.e. > > from('direct:startingPoint') > .to('comp1:callToExternalComp1') > .to('comp2:callToExternalCom2') > .to('bean:endPoint') > > What I want to do now is replace the hardcoded URIs in the to Java DSL > functions using PropertyPlaceholder. > For that I created a PropertyPlaceholder bean and change the route to > something like this: > > from('direct:startingPoint') > .to('{{comp1URI}) > .to('{{comp2URI') > .to('bean:endPoint') > > Till now everything is fine. My problem starts when I want to do something > conditional. > F.e. I want to only call comp1 URI if the URI is set to a real comp1 URI and > is not disabled in the PropertyPlaceholder file. > For that I changed the route to something like that: > > from('direct:startingPoint') > .choice() > .when(simple('${properties:comp1URI}').isNotEqualTo('DISABLED') > .to('{{comp1URI}) > .otherwise() > .to('{{comp2URI}) > .end() > > here the problem starts as when I call simple() it doesn't find the comp1URI > property (however if I use it in the to() statement it can find the > {{comp1URI}}. > > What am I doing wrong here or whats the best approach to make a when choice > based on something set in a properties file ? > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Use-Properties-in-a-Predicate-tp5754392.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/