quarz spring boot
- package com.pkfare.task.manage.config;
- import org.quartz.spi.TriggerFiredBundle;
- import org.springframework.beans.BeansException;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.ApplicationContextAware;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.scheduling.quartz.SpringBeanJobFactory;
- import org.springframework.stereotype.Component;
- @Configuration
- @Component
- public class JobBeanJobFactory extends SpringBeanJobFactory implements ApplicationContextAware {
- private ApplicationContext applicationContext;
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- this.applicationContext = applicationContext;
- }
- @Override
- protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
- Object jobInstance = super.createJobInstance(bundle);
- //把Job交给Spring来管理,这样Job就能使用由Spring产生的Bean了
- applicationContext.getAutowireCapableBeanFactory().autowireBean(jobInstance);
- return jobInstance;
- }
- }
- import com.pkfare.task.manage.service.impl.SelectTaskServiceImpl;
- import com.pkfare.task.manage.util.ReadConfigUtil;
- import com.pkfare.task.manage.job.MainJob;
- import org.quartz.JobDetail;
- import org.quartz.impl.triggers.CronTriggerImpl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Configurable;
- import org.springframework.context.annotation.Bean;
- import org.springframework.scheduling.quartz.SchedulerFactoryBean;
- import javax.sql.DataSource;
- import java.text.ParseException;
- import static org.quartz.JobBuilder.newJob;
- /**
- * Created by llq on 2016/10/28.
- */
- @Configurable
- public class QuartzConfig {
- @Autowired
- private JobBeanJobFactory jobBeanJobFactory;
- @Autowired
- SelectTaskServiceImpl selectTaskService;
- @Autowired
- @Bean
- public SchedulerFactoryBean SchedulerFactoryBean(DataSource dataSource) throws ParseException {
- SchedulerFactoryBean bean = new SchedulerFactoryBean();
- bean.setDataSource(dataSource);
- bean.setQuartzProperties(ReadConfigUtil.readConfig("quartz.properties"));
- bean.setSchedulerName("CRMscheduler");
- bean.setStartupDelay(3);
- bean.setApplicationContextSchedulerContextKey("applicationContextKey");
- bean.setOverwriteExistingJobs(true);
- bean.setAutoStartup(true);
- bean.setJobFactory(jobBeanJobFactory);
- return bean;
- }
- }
http://www.blogjava.net/paulwong/archive/2014/11/14/420104.html
quarz spring boot的更多相关文章
- 国内最全的Spring Boot系列之二
历史文章 <国内最全的Spring Boot系列之一> 视频&交流平台 SpringBoot视频:http://t.cn/R3QepWG Spring Cloud视频:http:/ ...
- 玩转spring boot——快速开始
开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...
- 【微框架】之一:从零开始,轻松搞定SpringCloud微框架系列--开山篇(spring boot 小demo)
Spring顶级框架有众多,那么接下的篇幅,我将重点讲解SpringCloud微框架的实现 Spring 顶级项目,包含众多,我们重点学习一下,SpringCloud项目以及SpringBoot项目 ...
- 玩转spring boot——开篇
很久没写博客了,而这一转眼就是7年.这段时间并不是我没学习东西,而是园友们的技术提高的非常快,这反而让我不知道该写些什么.我做程序已经有十几年之久了,可以说是彻彻底底的“程序老炮”,至于技术怎么样?我 ...
- 玩转spring boot——结合redis
一.准备工作 下载redis的windows版zip包:https://github.com/MSOpenTech/redis/releases 运行redis-server.exe程序 出现黑色窗口 ...
- 玩转spring boot——AOP与表单验证
AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...
- 玩转spring boot——结合JPA入门
参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...
- 玩转spring boot——结合JPA事务
接着上篇 一.准备工作 修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
随机推荐
- Node.js 历史
Node.js 是在 2009年5月份创建的,是属于典型的 Git 和 GitHub 时代最初孕育的项目.另外需要先说明一点,那就是回顾 Node.js 的历史,并不是仅仅为了给大家回味,而是想找到在 ...
- iOS开发 - Protocol协议及委托代理(Delegate)
因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替.Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法.也就是说,它只告诉你要做什么,但具体怎 ...
- jquery解析xml,获取xml标签名
先给一个简单的XML,结构如下 <?xml version="1.0" encoding="uft-8" ?> <msg> <ro ...
- /pentest/enumeration/irpas/itrace
/pentest/enumeration/irpas/itrace 追踪防火墙内部路由
- GoAccess自动分割Nginx日志
GoAccess 是一款开源的网站日志实时分析工具.GoAccess 的工作方式很容易理解,就是读取和解析 Apache/Nginx/Lighttpd 的访问日志文件 access log,然后以更友 ...
- 禁止MySQL开机自动启动的方法
这几天发现电脑卡机变慢了,还有一些卡,发现每次开机MySQL都会自动启动(明明我安装的时候选择了不开机自启,任务管理器启动列表中也没有,但就是自启了...) 1.打开服务列表 有两种方法,一是快捷键 ...
- js生成指定范围内随机数
其现方法的核心是JavaScript的Math对象.代码如下: <!DOCTYPE html> <html lang="en"> <head> ...
- React组件间通信
众所周知,ReactJS组件与组件之间的通信是一个难点.在React实际开发中,父子组件之间的传值是比较常见的,刚入门的小伙伴很容易被组件之间的通信绕懵. 今天花了点时间总结了一下React父子组件之 ...
- 动态代理--Cglib
JDK 的Proxy 实现,需要代理对象实现接口: package com.utils; import java.lang.reflect.InvocationHandler; import java ...
- 谈谈TCP的四次挥手
“挥手”是为了终止连接,TCP四次挥手的流程图如下: (在socket编程中,可以由客户端或服务端进行close操作来进行) 下面的图是由客户端主动关闭连接 MSL是什么?最长报文段寿命 ------ ...