The JobScheduler requires an Java JRE (version >= 1.8).
You can install a JRE for exclusive use by Job Scheduler.
This could be useful if, for example, 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 this new JRE to be used by JobScheduler:
Windows
Assume that you have extracted the new JRE into 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 in the registry to get the JRE, 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 new JRE in C:\ProgramData\jre and write this JRE in ./bin/jobscheduler_environment_variables.cmd:
... 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 create the following files:
- ./user_bin/jobscheduler_environment_variables.cmd
- ./user_bin/jobeditor_environment_variables.cmd
- ./user_bin/dashboard_environment_variables.cmd
and then insert
set JAVA_HOME=C:\ProgramData\jre
in them.
Finally, JobScheduler itself looks by default in the registry to find the JRE. To get JobScheduler to use the new one, 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 into /opt/jre and
you have extracted the JobScheduler download to /tmp.
Normally you start the installer with /tmp/jobscheduler<version>/setup.sh.
This script use the JRE which is located in the JAVA_HOME environment variable otherwise from the path (see `which java`), so 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 in /opt/jre and write this JRE in ./bin/jobscheduler_environment_variables.sh:
... test -z $JAVA_HOME && 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 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.