Quartz 是一个功能强大的开源作业调度库,提供了丰富的配置选项来控制作业调度的行为和特性。下面是一些常见的 Quartz 配置选项和它们的含义:
1. 数据库相关配置
Quartz 可以使用数据库存储作业调度信息,以下是数据库相关的配置选项:
-
org.quartz.jobStore.driverDelegateClass: 数据库驱动程序委托类,用于不同的数据库(例如
org.quartz.impl.jdbcjobstore.StdJDBCDelegate
)。 -
org.quartz.jobStore.dataSource: 数据源名称,指定数据源配置的名称。
-
org.quartz.dataSource.<name>.provider: 指定数据源提供程序(例如
org.quartz.dataSource.myDS.provider = hikaricp
)。 -
org.quartz.dataSource.<name>.<property>: 数据源的具体配置参数(例如连接池大小、URL、用户名和密码等)。
2. 调度器配置
-
org.quartz.scheduler.instanceName: 调度器实例的名称。
-
org.quartz.scheduler.instanceId: 调度器实例的唯一标识符。
-
org.quartz.scheduler.instanceIdGenerator: 调度器实例 ID 生成器的类名。
-
org.quartz.scheduler.skipUpdateCheck: 是否跳过更新检查,默认为
false
。
3. 线程池配置
-
org.quartz.threadPool.class: 线程池类,默认为
org.quartz.simpl.SimpleThreadPool
。 -
org.quartz.threadPool.threadCount: 线程池中的线程数量。
-
org.quartz.threadPool.threadPriority: 线程池中线程的优先级。
-
org.quartz.threadPool.threadNamePrefix: 线程名的前缀。
4. JobStore 配置
-
org.quartz.jobStore.class: JobStore 类,默认为
org.quartz.impl.jdbcjobstore.JobStoreTX
. -
org.quartz.jobStore.isClustered: 是否启用集群支持。
-
org.quartz.jobStore.clusterCheckinInterval: 集群检查间隔时间(单位为毫秒)。
5. JobListener 和 TriggerListener 配置
-
org.quartz.plugin.jobListener.<name>.class: Job 监听器的类名。
-
org.quartz.plugin.triggerListener.<name>.class: Trigger 监听器的类名。
6. 其他配置
-
org.quartz.plugin.<name>.class: Quartz 插件的类名。
-
org.quartz.plugin.<name>.<property>: Quartz 插件的具体配置参数。
示例配置
以下是一个示例的 Quartz 配置文件 quartz.properties
:
# Quartz Scheduler Configuration
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.skipUpdateCheck = true
# ThreadPool Configuration
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
# JobStore Configuration
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.jobStore.dataSource = myDS
# DataSource Configuration
org.quartz.dataSource.myDS.provider = hikaricp
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:mysql://localhost:3306/quartz
org.quartz.dataSource.myDS.user = user
org.quartz.dataSource.myDS.password = password
org.quartz.dataSource.myDS.maxConnections = 5
# Plugin Configuration
org.quartz.plugin.jobHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobHistory.jobToBeFiredMessage = Job {1}.{0} fired (by trigger {4}.{3})
org.quartz.plugin.jobHistory.jobSuccessMessage = Job {1}.{0} execution complete and reports: {8}
这些配置选项涵盖了 Quartz 中常见的配置需求,具体的配置可以根据实际需求进行调整和扩展。确保在修改配置后重新加载 Quartz 调度器以使配置生效。