Could camel simply use spring el for properties? Greetings
Christian Am 02.04.2010 11:07, schrieb Claus Ibsen:
Hi See ticket https://issues.apache.org/activemq/browse/CAMEL-2599 The problem is that Spring 3.0 includes a EL by default which is automatic in use in the Spring XML files. It uses the same tokens as we do with Camel Properties component and therefore Spring EL fails with an exception. The easiest and also least problematic resolution is to use a different tokens in Camel to avoid the clash. It will also be least surprise by Camel end users if they mix and match between Spring EL and Camel Properties. So what tokens do you want to use? Currently we did use - prefix = #{ - suffix = } For example: from("#{cool.start}") .to("log:#{cool.start}?showBodyType=false&showExchangeId=#{cool.showid}") .to("mock:#{cool.result}"); A) === I am thinking of changing to: - prefix = #[ - suffix = ] For example: from("#[cool.start]") .to("log:#[cool.start]?showBodyType=false&showExchangeId=#[cool.showid]") .to("mock:#[cool.result]"); B) === Or maybe? - prefix = #p{ - suffix = } For example: from("#p{cool.start}") .to("log:#p{cool.start}?showBodyType=false&showExchangeId=#p{cool.showid}") .to("mock:#p{cool.result}"); C) ==== We cannot do this one - prefix = ${ - suffix = } As it will clash with Camel Simple language (would take more work to let them co-exist in peace :) However we could most likely use a longer preifx such as - prefix = ${p: - suffix = } For example: from("${p:cool.start}") .to("log:${p:cool.start}?showBodyType=false&showExchangeId=$p{p:cool.showid}") .to("mock:${p:cool.result}"); Do you have any thoughts and preference what tokens to use?