blob: f9c63bd830bc276ed110d0fa5f268238f74655f5 [file] [log] [blame]
= JavaScript Language
:doctitle: JavaScript
:shortname: js
:artifactid: camel-javascript
:description: Evaluates a JavaScript expression.
:since: 3.20
:supportlevel: Stable
:tabs-sync-option:
//Manually maintained attributes
:camel-spring-boot-name: javascript
*Since Camel {since}*
Camel allows https://www.graalvm.org/javascript/[JavaScript] to be
used as an xref:manual::expression.adoc[Expression] or xref:manual::predicate.adoc[Predicate]
in Camel routes.
For example, you can use JavaScript in a xref:manual::predicate.adoc[Predicate]
with the xref:eips:choice-eip.adoc[Content-Based Router] EIP.
== JavaScript Options
// language options: START
include::partial$language-options.adoc[]
// language options: END
== Variables
[width="100%",cols="10%,10%,80%",options="header",]
|=======================================================================
|Variable |Type |Description
|*this* |Exchange |the Exchange is the root object
|context |CamelContext |the CamelContext
|exchange |Exchange |the Exchange
|exchangeId |String |the exchange id
|message |Message |the message
|body |Message |the message body
|headers |Map |the message headers
|properties |Map |the exchange properties
|=======================================================================
== Dependencies
To use JavaScript in your Camel routes, you need to add the dependency on
*camel-javascript*, which implements the JavaScript language (JavaScript with GraalVM).
If you use Maven, you could add the following to your pom.xml,
substituting the version number for the latest & greatest release.
[source,xml]
-------------------------------------
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-javascript</artifactId>
<version>x.x.x</version>
</dependency>
-------------------------------------
include::spring-boot:partial$starter.adoc[]