Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Chapter 23. MVEL
Overview Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
MVEL is a Java-based dynamic language that is similar to OGNL, but is reported to be much faster. The MVEL support is in the
camel-mvel
module.
Syntax Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
You use the MVEL dot syntax to invoke Java methods, for example:
getRequest().getBody().getFamilyName()
getRequest().getBody().getFamilyName()
Because MVEL is dynamically typed, it is unnecessary to cast the message body instance (of
Object
type) before invoking the getFamilyName()
method. You can also use an abbreviated syntax for invoking bean attributes, for example:
request.body.familyName
request.body.familyName
Adding the MVEL module Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
To use MVEL in your routes you need to add a dependency on
camel-mvel
to your project as shown in Example 23.1, “Adding the camel-mvel dependency”.
Example 23.1. Adding the camel-mvel dependency
Built-in variables Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Table 23.1, “MVEL variables” lists the built-in variables that are accessible when using MVEL.
Name | Type | Description |
---|---|---|
this | org.apache.camel.Exchange | The current Exchange |
exchange | org.apache.camel.Exchange | The current Exchange |
exception | Throwable | the Exchange exception (if any) |
exchangeID | String | the Exchange ID |
fault | org.apache.camel.Message | The Fault message(if any) |
request | org.apache.camel.Message | The IN message |
response | org.apache.camel.Message | The OUT message |
properties | Map | The Exchange properties |
property(name) | Object | The value of the named Exchange property |
property(name, type) | Type | The typed value of the named Exchange property |
Example Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Example 23.2, “Route using MVEL” shows a route that uses MVEL.
Example 23.2. Route using MVEL