Introduction
JS7 Agents can execute JVM Jobs running in an Oracle® GraalVM that are implemented using JavaScript.
- The Oracle® GraalVM includes an OpenJDK and a number of interpreters for scripting languages such as JavaScript, Python etc.
- The JS7 - Job API offers such jobs access to arguments, return values etc.
The following information applies to JVM Jobs, not to Shell Jobs that directly invoke a Java Virtual Machine or an interpreter such as Node.js.
- For direct invocation of Node.js with jobs see JS7 - How to run Node.js JavaScript from Shell Jobs
FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.4
FEATURE AVAILABILITY STARTING FROM RELEASE 2.6.1
License
Oracle® GraalVM ships with a number of licenses:
- Oracle® GraalVM Community Edition is available under the GPLv2+CPE license (recommended).
- Oracle® GraalVM is available under the GraalVM Free Terms and Conditions (GFTC) license.
Oracle GraalVM Components such as the JavaScript interpreter ship with the Universal Permissive License (UPL), Version 1.0, see
Users agree with license terms when downloading the related edition of Oracle® GraalVM.
Download Oracle® GraalVM
The Oracle® GraalVM can be downloaded from https://www.graalvm.org/downloads/
Users choose the Oracle® GraalVM for their OS platform an Java version supported by the JS7 Agent, for example Java 17. For details see Which Java versions is JobScheduler available for?
curl 'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-17.0.7/graalvm-community-jdk-17.0.7_linux-x64_bin.tar.gz' -O tar -xzf graalvm-community-jdk-17.0.7_linux-x64_bin.tar.gz -C /opt/java JAVA_HOME=/opt/java/graalvm-community-openjdk-17.0.7+7.1
No installation procedure is required. After download users extract the .tar.gz/.zip archive of the Oracle® GraalVM and make the JAVA_HOME
environment variable point to the location where Oracle® GraalVM is extracted.
The JAVA_HOME
environment variable has to be made available to the JS7 Agent, for example from
- JS7 - Agent Command Line Operation
- Agent Installation Scripts available from JS7 - Automated Installation and Update
- JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems
Download and Install Oracle® GraalVM Components
The Oracle® GraalVM components for scripting language support can be downloaded from: https://www.oracle.com/downloads/graalvm-downloads.html
GraalVM Components project web site: https://github.com/oracle/graaljs
The related js
JavaScript component has to be downloaded and initialized, for details see GraalVM Updater:
JAVA_HOME=/opt/java/graalvm-community-openjdk-17.0.7+7.1 # check components included with downloaded Oracle GraalVM $JAVA_HOME/bin/gu list # output to the command can look like this (indicating that the js JavaScript component by default is not included): # ComponentId Version Component name Stability Origin # --------------------------------------------------------------------------------------------------------------------------------- # native-image 23.0.0 Native Image Early adopter # check js JavaScript components available for installation with Oracle GraalVM $JAVA_HOME/bin/gu available js # output to the command can look like this: # ComponentId Version Component name Stability Origin # --------------------------------------------------------------------------------------------------------------------------------- # js 23.0.0 Graal.js Supported github.com # nodejs 23.0.0 Graal.nodejs Supported github.com # install js (JavaScript) component from download $JAVA_HOME/bin/gu install js # alternatively perform download separately and install .jar file # see https://www.oracle.com/downloads/graalvm-downloads.html # $GRAALVM/bin/gu install --file js-installable-jdk-17-linux-amd64-23.0.1.jar