The JobScheduler requires an Java JRE (version >= 1.8).

You can install a JRE for exclusive use by JobScheduler.
This is useful if, for example, if you have already installed a JRE that is used with another application and you want that JRE to remain unchanged and not be used by JobScheduler.

Note that the procedure described below should be followed before JobScheduler is installed.

Start by downloading a JRE archive:

  • jre-<version>-linux-x64.tar.gz
  • jre-<version>-windows-x64.tar.gz

Don't use jre-<version>linux-x64.rpm or jre<version>-windows-x64.exe.

You only have to extract this archive to an arbitrary folder to get a new JRE.
It is not necessary to make any changes to the original Java environment.

Now you can configure the new JRE to be used by JobScheduler:

Windows

Assume that you have extracted the new JRE to C:\ProgramData\jre and
you have extracted the JobScheduler download to %TEMP%.

Normally you start the installer with %TEMP%\jobscheduler<version>\setup.cmd
This script looks up the JRE in the registry where it finds the JRE that has already been installed and not the one to be used by JobScheduler.

To get around this, open a command line as administrator and type the following:

 > cd %TEMP%\jobscheduler<version>
 > set Path=C:\ProgramData\jre\bin;%Path%
 > rem don't use setup.cmd because it looks in the registry to find a jre
 > javaw.exe -jar jobscheduler_windows-x64.<version>.jar

The JobScheduler setup will now use the JRE in C:\ProgramData\jre and write this JRE location to the ./bin/jobscheduler_environment_variables.cmd file.

 ...
 if not defined JAVA_HOME set JAVA_HOME=C:\ProgramData\jre
 ...

Note that the above will only cause the new JRE to be used if JAVA_HOME has not been set.

Otherwise you have to use the following files:

  • ./user_bin/jobscheduler_environment_variables.cmd
  • ./user_bin/jobeditor_environment_variables.cmd
  • ./user_bin/dashboard_environment_variables.cmd
    and insert
 set JAVA_HOME=C:\ProgramData\jre

Finally, JobScheduler itself by default looks up the JRE in the registry. To make JobScheduler use the new JRE, configure the path to the jvm.dll of the new JRE installation in the ./config/sos.ini file and then restart the JobScheduler.

 ...
 [java]
 ;                         does not necessarily work, use PATH (Windows) or LD_LIBRARY_PATH (Unix) to locate the Java VM
 vm                     =  C:\ProgramData\jre\bin\client\jvm.dll

Linux

Assume that you have extracted the new JRE to /opt/jre and that you have extracted the JobScheduler download to /tmp.

Normally you start the installer with /tmp/jobscheduler<version>/setup.sh.

This script uses the JRE that is specified with the JAVA_HOME environment variable otherwise Java is used from the path (see `which java`), therefore set JAVA_HOME=/opt/jre before you start the installer.

 > cd /tmp/jobscheduler<version>
 > export JAVA_HOME=/opt/jre
 > ./setup.sh

The JobScheduler setup will now use the new JRE from /opt/jre and write the JRE location to the ./bin/jobscheduler_environment_variables.sh file.:

 ...
 test -z $JAVA_HOME && JAVA_HOME=/opt/jre
 ...

Note that the above will only cause the new JRE to be used if JAVA_HOME has not been set.

Otherwise you have to create the following files:

  • ./user_bin/jobscheduler_environment_variables.sh
  • ./user_bin/jobeditor_environment_variables.sh
  • ./user_bin/dashboard_environment_variables.sh
    and then insert
 JAVA_HOME=/opt/jre
 # and further in ./user_bin/jobscheduler_environment_variables.sh
 LD_LIBRARY_PATH=$JAVA_HOME/lib/amd64/server:$LD_LIBRARY_PATH

in them.