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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
boot中 Quartz注入spring管理类失败的更多相关文章
- Spring Boot集成Quartz注入Spring管理的类
摘要: 在Spring Boot中使用Quartz时,在JOB中一般需要引用Spring管理的Bean,通过定义Job Factory实现自动注入. Spring有自己的Schedule定时任务,在S ...
- servlet中调用注入spring管理的dao(转)
今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...
- 没有纳入spring管理的类如何注入spring管理的对象
spring 如何在普通类中调用注入的对象? spring 在Thread中注入@Resource失败,总为null~解决 springmvc 注入总是空指针异常? 以上的几个问题就是我在项目中遇到的 ...
- Spring Boot中使用Flyway来管理数据库版本
flyway是一个开源的数据库迁移工具.类似于数据库的版本控制工具.flyway的数据库修改文件默认放在resource下的db.migration文件夹中,以V{version_number}__{ ...
- Flyway:Spring Boot中使用Flyway来管理数据库版本
Flyway简介 Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate.clean.info.validate.baseline.repair等命令.它支持SQL(PL/ ...
- Spring Boot中使用Lombok消除POJO类模板代码
首先,要让IDE支持Lombok,这里以idea为例进行介绍. 点击项目的“File”-—>"settings"—>"Plugins",在marke ...
- Spring Boot中使用使用Spring Security和JWT
目标 1.Token鉴权 2.Restful API 3.Spring Security+JWT 开始 自行新建Spring Boot工程 引入相关依赖 <dependency> < ...
- JSP页面中如何注入Spring容器中的bean
第一步在JSP页面中导入下面的包: <%@page import="org.springframework.web.context.support.WebApplicationCont ...
- 不用注入方式使用Spring管理的对象中的方法,神奇
在小冷工作中遇到这么一个小问题,当你的业务层对象交给spring管理之后,在普通的类中调用这个类中的方法时候,会有个问题这个类在调用时候会一直返回一个null,而且还会抛出一个空指针异常. 小冷在遇到 ...
随机推荐
- Grunt相关
安装Grunt 在命令行输入npm install -g grunt-cli
- 在同一个Linux上配置多个git账户
1.首先在~/.ssh目录下执行 ssh-keygen -t rsa -C "miaoying.new@qq.com" 其中 -C "miaoying.new@qq.co ...
- WPF TextBlock文子超出在最后加上省略号
加上这个属性:TextTrimming="CharacterEllipsis" <TextBlock Text="{Binding filepaths}" ...
- ubuntu高版本如何设置开机启动脚本
ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本 可以通过下列简单设置后,可以使rc.local重新发挥作用. 1.建立rc-local.service文件 ...
- android开发 写一个自定义形状的按键
步骤: 1.在drawable 文件夹中创建一个xml布局文件. 2.修改布局文件 3.在需要使用背景的按键中导入布局. 创建布局文件: 修改布局文件: <?xml version=" ...
- Java实现图像对比类
package com.function; import java.awt.image.BufferedImage; import java.io.BufferedWriter; import jav ...
- [Unity动画]06.子状态机
参考链接: https://www.jianshu.com/p/6b1db3d060ac?utm_campaign=maleskine&utm_content=note&utm_med ...
- leetcode999
class Solution: def numRookCaptures(self, board: 'List[List[str]]') -> int: basei = 0 basej = 0 r ...
- 解析main函数的命令行参数
原创文章,转载请正确注明本文原始URL及作者. 介绍 写C/C++程序,我们常常需要把main函数的参数作为选项来传递.在linux中,解析选项有专门的函数可以用. int getopt(int ar ...
- vc/vs开发的应用程序添加dump崩溃日志<转>
原贴地址:https://blog.csdn.net/wangkui1331/article/details/78029940 vc/vs开发的应用程序出现崩溃的时候,由于没有任何记录,导致开发人员很 ...