Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository: https://github.com/apache/camel/blob/master/README.md https://github.com/apache/camel/blob/master/components/readme.adoc
OGNLCamel allows OGNL to be used as an Expression or Predicate the DSL or Xml Configuration. You could use OGNL to create an Predicate in a Message Filter or as an Expression for a Recipient List You can use OGNL dot notation to invoke operations. If you for instance have a body that contains a POJO that has a "request.body.familyName" // or "getRequest().getBody().getFamilyName()" Variables
SamplesFor example you could use OGNL inside a Message Filter in XML <route>
<from uri="seda:foo"/>
<filter>
<ognl>request.headers.foo == 'bar'</ognl>
<to uri="seda:bar"/>
</filter>
</route>
And the sample using Java DSL: from("seda:foo").filter().ognl("request.headers.foo == 'bar'").to("seda:bar");
Loading script from external resourceAvailable as of Camel 2.11 You can externalize the script and have Camel load it from a resource such as .setHeader("myHeader").ognl("resource:classpath:myognl.txt")
DependenciesTo use OGNL in your camel routes you need to add the a dependency on camel-ognl which implements the OGNL 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). <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ognl</artifactId> <version>x.x.x</version> </dependency> Otherwise, you'll also need OGNL |
