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.

Use of Oracle® GraalVM for jobs is available starting from the following releases:

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:

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 details see Which Java versions is JobScheduler available for?

The following example makes use of Oracle® GraalVM 17.0.7 for Linux with Java 17. User should check for current versions of Oracle® GraalVM that match their OS platform and that are based on Java LTS releases.

Example how to download Oracle® GraalVM for Linux
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

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. The following example makes use of JavaScript Runtime 23.0.0 for Linux. Users should check for a current version of the JavaScript Runtime that matches their platform and that is interoperable with the version of Oracle® GraalVM in use. 

Example how to download and install Oracle® GraalVM JavaScript Runtime for Linux
# set location of Oracle GraalVM
JAVA_HOME=/opt/java/graalvm-community-openjdk-17.0.7+7.1

# check components included with download from Oracle GraalVM Updater
$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

# download and install js (JavaScript Runtime) component
$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, for example
#   $JAVA_HOME/bin/gu install --file js-installable-jdk-17-linux-amd64-23.0.1.jar

Further Resources



  • No labels