quartz(三)工厂类总结

本文深入探讨了Quartz的SchedulerFactory接口及其getScheduler方法,以及JobFactory接口在生成Job实例中的作用。特别地,AdaptableJobFactory的扩展性使得支持Spring Bean注入成为可能。同时,文章介绍了Spring的SchedulerFactoryBean如何管理Quartz调度器的生命周期,并通过CronTriggerFactoryBean和SimpleTriggerFactoryBean创建触发器。JobDetailFactoryBean则用于定制JobDetail实例。总结了Spring Boot中使用Quartz的关键配置和常用类。
摘要由CSDN通过智能技术生成

本篇文章中将会对quartz常用的factory进行总结

SchedulerFactory接口为调度器工厂接口 SchedulerFactory中主要方法介绍

  • getScheduler()获取一个可用的调度器
  • getScheduler(String schedName)通过调度器名字得到调度器

JobFactory接口负责生成Job的具体实例,如果我们需要Job实例支持bean注入那么我们需要实现这个接口进行自己实现

JobFactory中主要方法介绍:newJob()生成Job实例

AdaptableJobFactory为JobFactory的实现类,实现了具体的Job实例创建

注:我们如果需要实现JOb实例支持自动注入sevice,那么我们需要继承上面这个类进行自己的实现,使其支持自动注入

@Component
public class MyJobFactory extends AdaptableJobFactory {
   
    @Autowired
    private AutowireCapableBeanFactory capableBeanFactory;
    @Override
    protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
   
        // 调用父类的方法
        Object jobInstance = super.createJobInstance(bundle);
        // 进行注入
        capableBeanFactory.autowireBean(jobInstance);
        return jobInstance;
    }}

SchedulerFactoryBean为spring提供的由FactoryBean创建并配置一个Quartz调度器,将其生命周期作为Spring应用程序上下文的一部分进行管理,并将调度器公开为依赖项注入的bean引用,可以根据需要进行合理的默认配置如下方代码:

@Configuration
public class QuarzConfig {
   
    @Autowired
    DataSource dataSource;

    @Autowired
    private ApplicationContext applicationContext;
    @Autowired
    private MyJobFactory myJobFactory;
    @Autowired
    private TriggerListner triggerListner;

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值