自动选取以下类型的 Bean 并将其与 Scheduler
关联起来:
默认使用内存存储方式的 。 但如果应用程序中有 DataSource
bean,并且配置了 spring.quartz.job-store-type
属性,则可以配置基于 JDBC 的存储,如下所示:
使用 JDBC 存储时,可以在启动时初始化 schema(表结构),如下所示:
要让 Quartz 使用除应用程序主 DataSource
之外的 DataSource
,请声明一个 DataSource
bean,使用 @QuartzDataSource
注解其 @Bean
方法。这样做可确保 和 schema 初始化都使用 Quartz 指定的 DataSource
。
默认情况下,配置创建的 job 不会覆盖已从持久 job 存储读取的已注册的 job。要启用覆盖现有的 job 定义,请设置 spring.quartz.overwrite-existing-jobs
属性。
注意
需要强调的是,
Executor
bean 与调度程序没有关联,因为 Quartz 提供了通过spring.quartz.properties
配置调度器的方法。如果需要自定义执行器,请考虑实现SchedulerFactoryBeanCustomizer
。
job 可以定义 以注入数据映射属性。也可以以类似的方式注入常规的 bean,如下所示: