This is documentation for Semarchy xDI 5.3 or earlier, which is no longer supported. For more information, see our Global Support and Maintenance Policy. |
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:
-
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.
-
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. -
Copy the sample
engineScheduler.properties
from the/properties/samples/schedules/common
directory to the/properties
directory, and configure it as explained below. -
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. |