Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JS7 Agents can execute JVM Jobs running in an Oracle® GraalVM that are implemented using JavaScript.The 

  • 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:

Display feature availability
StartingFromRelease2.5.4

Display feature availability
StartingFromRelease2.6.1

...

License

Oracle® GraalVM ships with a number of licenses:

  • Oracle® GraalVM

...

The Oracle® GraalVM includes an OpenJDK and a number of interpreters for scripting languages such as JavaScript, Python etc.

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, Oracle® GraalVM ships with a number of licenses, for details see https://docs.oraclegithub.com/en/graalvm/enterprise/21/docs/licensing-information/

Oracle® GraalVM is available under the GraalVM Free License Agreement.

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 an and Java version supported by the JS7 Agent, for example Java 17. For details see Which Java versions is JobScheduler available for?

Installation

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.

Code Block
languagebash
titleExample how to download Oracle® GraalVM for Linux
linenumberstrue
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 to point to the location where Oracle® GraalVM is extracted.In a next step the related interpreter has to be initialized:

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. 

Code Block
languagebash
titleExample how to download and install Oracle® GraalVM JavaScript Runtime for Linux
linenumberstrue
# 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