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 from Shell 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.
Users agree with license terms when downloading the related edition of Oracle® GraalVM.
Oracle® GraalVM Components such as the JavaScript Runtime ship with the Universal Permissive License (UPL), Version 1.0, see https://github.com/oracle/graaljs
Download Oracle® GraalVM
The Oracle® GraalVM can be downloaded from https://www.graalvm.org/downloads/
Users choose the Oracle® GraalVM for their OS platform and 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
The related js
JavaScript Runtime component has to be downloaded and initialized, for details see GraalVM Updater:
# set location of Oracle GraalVM 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 Runtime component by default is not included): # ComponentId Version Component name Stability Origin # --------------------------------------------------------------------------------------------------------------------------------- # native-image 23.0.0 Native Image Early adopter # check js JavaScript Runtime component availability 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 Runtime) component from download $JAVA_HOME/bin/gu install js # alternatively perform download separately and install downloaded .jar file # for download URL see https://www.oracle.com/downloads/graalvm-downloads.html # $JAVA_HOME/bin/gu install --file js-installable-jdk-17-linux-amd64-23.0.1.jar