• boot中 Quartz注入spring管理类失败


    在项目中用到了Quartz,想在里面实现业务操作发现sping类注入总是失败。后来网上查询了一下解决办法。下面把我成功解决问题的这个版本发出来,大家一起学习一下。

    在quartz 会发现 job中无法注入springboot管理的类

    解决方法:新建Jobfactory类

    @Component
    public class JobFactory extends AdaptableJobfactory{
    @Autowired
    private AutowireCapableBeanFactory capableBeanFactory;
    
    @Override
    protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception{
      //调用父类的方法
      Object jobInstance=super.createJobInstance(bundle);
      //进行注入
      capableBeanFactory.autowireBean(jobInstance);
      return jobInstance;
      }
    }
    
    新建QuartzConfig类
    
    @Configuration
    @EnableScheduling
    public class QuartzConfig{
      @Autowired
      JobFactory jobfactory;
      @Bean
      public SchedulerFactoryBean schedulerFactoryBean() throws IOException{
      SchedulerFactoryBean factory=new SchedulerFactoryBean();
      factory.setOverwriteExistingJobs(true);
      //延时启动
      factory.setStartupDelay(20);
      //自定义JobFactory,用于Spring注入
      factory.setJobFactory(jobFactory);
      return factory;
      }
    }
    

    之后在配置job时
    @Autowired
    SchedulerFactoryBean schedulerFactoryBean;
    即可

    切记一定要用注入的方式注入schedulerFactoryBean。

    作者:___shin
    链接:https://www.jianshu.com/p/73776cbd2956
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    句法分析
    自然语言处理--语素语素是最小的语法单位,也就是最小的语音、语义结合体。
    自然语言处理--语料
    apt-get安装软件或者更新时遇到的dpkg错误
    如你这般温馨的日子
    Photivo软件使用
    Axure 6.5 --图片不能轮播的问题
    Drupal网站搭建过程记录
    在ubuntu安装Photivo软件
    北京大学Charls项目访员招募
  • 原文地址:https://www.cnblogs.com/technologykai/p/8650303.html
Copyright © 2020-2023  润新知