自动选取以下类型的 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,如下所示: