Avialable in Camel 2.0

Camel allows Mvel to be used as an Expression or Predicate the DSL or Xml Configuration.

You could use Mvel to create an Predicate in a Message Filter or as an Expression for a Recipient List

You can use Mvel dot notation to invoke operations. If you for instance have a body that contains a POJO that has a getFamiliyName method then you can construct the syntax as follows:

   // or 


Variable Type Description
this Exchange the Exchange is the root object
exchange Exchange the Exchange object
exception Throwable the Exchange exception (if any)
exchangeId String the exchange id
fault Message the Fault message (if any)
request Message the message
response Message the exchange.out message (if any)
properties Map the exchange properties
property(name) Object the property by the given name
property(name, type) Type the property by the given name as the given type


For example you could use Mvel inside a Message Filter in XML

  <from uri="seda:foo"/>
    <mvel> == 'bar'</mvel>
    <to uri="seda:bar"/>

And the sample using Java DSL:

   from("seda:foo").filter().mvel(" == 'bar'").to("seda:bar");


To use Mvel in your camel routes you need to add the a dependency on camel-mvel which implements the Mvel language.

If you use maven you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).


Otherwise, you'll also need MVEL

© 2004-2011 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram