Configure the Runtime Built-in Scheduler

The scheduler built in the runtime stores all the schedules into a database.

The schedules database is by default an H2 database built in the runtime, which provides a ready-to-use configuration. You can alternately store the schedules in a dedicated database.

Configuring Scheduler Storage

To configure the runtime schedules storage:

  1. Create in the database of your choice the necessary schema/database to host the schedules, as well as the database user to access this storage.

  2. Manually create the tables in the target database/schema using the script corresponding to your database technology. The script is in the /scripts/scheduler folder of the runtime installation directory.

  3. Copy the sample engineScheduler.properties from the /properties/samples/schedules/common directory to the /properties directory, and configure it as explained below.

  4. Restart the runtime or reinstall the runtime service.

Configure the Scheduler Datasource

In the engineScheduler.properties file, the org.quartz.jobStore.dataSource parameter defines the datasource used to store the schedules:

  • The specific internal value stores the schedules in the internal H2 database.

  • To use a different database, set the org.quartz.jobStore.dataSource parameter to a datasource name (for example: datasource01), and the define the datasource connection parameters, as shown below.

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties=false
# Commented the following line to stop using the internal database
# org.quartz.jobStore.dataSource=internal
#
# The datasource01 datasource is used instead for schedules.
org.quartz.jobStore.dataSource=datasource01
#
org.quartz.jobStore.tablePrefix=STB_
org.quartz.jobStore.isClustered=false
#
# Configure the datasource01 connection
# =====================================
# JDBC Driver
org.quartz.dataSource.datasource01.driver=org.h2.Driver
# JDBC URL
org.quartz.dataSource.datasource01.URL=jdbc:h2:tcp://localhost:42100/scheduler/internalDb;SCHEMA=SCHEDULER
# User and password
org.quartz.dataSource.datasource01.user=sa
org.quartz.dataSource.datasource01.password=
org.quartz.dataSource.datasource01.maxConnections=5
org.quartz.dataSource.datasource01.validationQuery=
# Module containing the JDBC driver and libraries
org.quartz.dataSource.datasource01.module=internal
For the Runtime to communicate with the database hosting your schedules, you must install that database’s JDBC driver and librairies in a the module that you specified for the datasource.