SpringBoot2.x整合quartz定时任务 快速入门

文章目录

      • 1. maven依赖
      • 2. QuartConfig配置文件
      • 3. 创建一个业务处理类UserService
      • 4. Job类 调用方法
      • 5. 手动将对象注入导视牌SringIOC容器类
      • 6. 启动类加注解

1. maven依赖

       <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency>

2. QuartConfig配置文件

package com.gblfy;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.*;@Configuration
public class QuartConfig {//    1.创建job对象@Beanpublic JobDetailFactoryBean jobDetailFactoryBean() {JobDetailFactoryBean factory = new JobDetailFactoryBean();factory.setJobClass(QuartzDemo.class);return factory;}//    2.创建Tigger对象 简单
//    @Bean
//    public SimpleTriggerFactoryBean simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) {
//        SimpleTriggerFactoryBean factory = new SimpleTriggerFactoryBean();
//        //关联JobDetail对象
//        factory.setJobDetail(jobDetailFactoryBean.getObject());
//        factory.setRepeatInterval(2000);
//        factory.setRepeatCount(5);
//        //设置重次数
//        return factory;
//    }@Beanpublic CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) {CronTriggerFactoryBean factory = new CronTriggerFactoryBean();factory.setJobDetail(jobDetailFactoryBean.getObject());//设置触发时间factory.setCronExpression("0/2 * * * * ?");return factory;}//     3.创建scheduler对象@Beanpublic SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean, MyAdaptableJobFactory myAdaptableJobFactory) {SchedulerFactoryBean factory = new SchedulerFactoryBean();//关联Tiggerfactory.setTriggers(cronTriggerFactoryBean.getObject());//注入对象并完成实例化factory.setJobFactory(myAdaptableJobFactory);return factory;}}

3. 创建一个业务处理类UserService

package com.gblfy;import org.springframework.stereotype.Service;@Service
public class UserService {//模拟操作数据库操作业务逻辑public void addUser() {System.out.println("add users....");}
}

4. Job类 调用方法

package com.gblfy;import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;import java.util.Date;/*** Job类*/
public class QuartzDemo implements Job {@Autowiredprivate UserService userService;@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {System.out.println("execute:"+ new Date());this.userService.addUser();}
}

5. 手动将对象注入导视牌SringIOC容器类

package com.gblfy;import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.springframework.stereotype.Component;/*** 手动将对象注入导视牌SringIOC容器类*/
@Component("myAdaptableJobFactory")
public class MyAdaptableJobFactory extends AdaptableJobFactory {@Autowired//可以将一个对象添加到spring的ioc容器中,并完成对象属性的注入private AutowireCapableBeanFactory autowireCapableBeanFactory;/*** 该方法需要将实例化的任务对象手动添加到springioc的容器中,并完成对象的注入** @param bundle* @return* @throws Exception*/@Overrideprotected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {Object obj = super.createJobInstance(bundle);//将obj对象添加到spring的ioc容器中,并完成注入this.autowireCapableBeanFactory.autowireBean(obj);return obj;}
}

6. 启动类加注解

@EnableScheduling

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用

阿里云HBase 2.0成长手记&#xff0c;含着金汤匙出身 HBase本身是一个分布式存储、数据库引擎&#xff0c;可以支持千万的QPS、PB级别的存储&#xff0c;这些都已经在生产环境验证&#xff0c;并且在阿里得以验证。 早在2010年开始&#xff0c;阿里巴巴集团开始研究并把HBase…

不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 新技术 新商业责编&#xff5c;阿秃2018年岁末&#xff0c;中国互联网IT职场掀起一股裁员风暴&#xff0c;为所有的码农和IT专业人士敲响了警钟&#xff0c;要想职场顺风满帆&#xff0c;就应当及早预判热点&#xff0c;规划…

阿里云马劲:保证云产品持续拥有稳定性的实践和思考

对所有的技术人员来说&#xff0c;业务可靠性提升是一个系统工程&#xff0c;涉及网络管理、IDC管理、服务器管理、交付管理、变更管理、故障管理、监控管理、预案管理、根因分析、容量规划、容灾演练、标准化建设、集成测试、泛操作管理、权限管理、数据安全管理等方方面面&am…

(需求实战_终章) SpringBoot2.x 整合RabbitMQ

文章目录1. maven依赖2. MainConfig3. application.properties4. 发送字符串 生产者5. 发送对象 生产者6. 接收字符串客户端7. 接收对象客户端8.confirem 确认机制9. return确认机制10. MQ消息发送工具类封装11. 分布式id12. 时间工具类13. 对象1. maven依赖 <dependency>…

lnmp 修改mysql密码_Lnmp下修改mysql根密码

今天帮兄弟安装了一个新的lnmp环境&#xff0c;安装后才发现mysql的根密码不是兄弟想要的密码&#xff0c;如是在建站前把根密码快快改了。 首先登陆phpmyadmin&#xff0c;选择mysql数据库,之后选sql选项卡&#xff0c;输入如下代码到命令框&#xff0c;之后点右下角的执行按钮…

实战:基于 Spring 的应用配置如何迁移至阿里云应用配置管理 ACM

最近遇到一些开发者朋友&#xff0c;准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中&#xff0c;遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路&#xff0c;以期达到和读者交流的目的。 什么样的配…

华为豪投20亿!3年培养100万AI人才,网友不服!

近日&#xff0c;华为20亿奖励员工的新闻频频刷屏。其中20亿奖金不是面向所有的华为员工&#xff0c;20亿奖金包涉及到的是研发体系、造AI芯片和建设生态的员工。从5G开始部署以来&#xff0c;华为获得了来自全球各地运营商的订单&#xff0c;签订了40多个5G商用合同。另外华为…

mysql 5.7 hint_新特性解读 | MySQL 8.0 新增 HINT 模式

在开始演示之前&#xff0c;我们先介绍下两个概念。概念一&#xff0c;数据的可选择性基数&#xff0c;也就是常说的cardinality值。查询优化器在生成各种执行计划之前&#xff0c;得先从统计信息中取得相关数据&#xff0c;这样才能估算每步操作所涉及到的记录数&#xff0c;而…

RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云

阿里云RAM (Resource Access Management)为客户提供身份与访问控制管理服务。使用RAM&#xff0c;可以轻松创建并管理您的用户&#xff08;比如雇员、企业开发的应用程序&#xff09;&#xff0c;并控制用户对云资源的访问权限。 对云资源的信息安全保护与风险控制能力是企业成…

SpringBoot 整合Shiro Ehcache

文章目录依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><mybatis.sprin…

SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候&#xff0c;随着阿里云业务突飞猛进的发展&#xff0c;SQLServer业务也积累了大批忠实客户&#xff0c;其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格&#xff08;规格是按照 内存CPUIOPS 一定比例分配&#xff0c;根据底层资源不同都会有…

构建企业数字化转型协同力有多难?青云发布workly.ai誓要解决这些棘手的问题!...

戳蓝字“CSDN云计算”关注我们哦&#xff01;相信大部分人都经历过办公中的手忙脚乱与无所适从&#xff0c;每天面对无数的任务与工作本就是一项挑战&#xff0c;而在办公中面对不同终端协同工具&#xff0c;所带来的那些令人头疼的密码、来不及回复的信息与邮件、繁琐的办公流…

docker无法连接mysql镜像_关于Docker官方CentOS镜像无法启动mysqld的总结

很多童鞋反映&#xff0c;在Docker官方CentOS镜像中安装了Mysql server后&#xff0c;无法正常启动。无法正常启动表现为两种情况&#xff1a;1> 初始完数据库后&#xff0c;mysqld启动报错2> systemctl start mysqld或者service mysqld start报错首先重现一下现场。第一…

阿里云高级技术专家带你全面了解云主机性能评测

钱超&#xff0c;花名西邪&#xff0c;阿里云高级技术专家&#xff0c;超12年老阿里&#xff0c;是云主机性能领域的知名专家。 在目前的云计算测评领域&#xff0c;很多性能测评存在营销的包装&#xff0c;容易引起误导&#xff1a;比如用瞬时性能引导读者得出结论&#xff0…

RabbitMQ控制台详解

文章目录属性说明overview→Totals所有队列的阻塞情况Ready待消费的消息总数Unacked待应答的消息总数Total总数 ReadyUnacked 属性说明Publishproducter pub消息的速率Publisher confirmbroker确认pub消息的速率Deliver(manual ack)ustomer手动确认的速率Deliver( auto ack)cu…

阿里云HBase携X-Pack再进化,重新赋能轻量级大数据平台

一、八年双十一&#xff0c;造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用&#xff0c;从最初的淘宝历史交易记录&#xff0c;到蚂蚁安全风控数据存储。持续8年的投入&#xff0c;历经8年双十一锻炼。4个PMC&#xff0c;6个committ…

2018阿里云双12年终大促主会场全攻略

2018阿里云双12年终大促活动已经于12月7日正式开启&#xff0c;从已开放的活动页面来看&#xff0c;活动分为两个阶段&#xff1a; 12月7日-12月23日的拉新返现阶段和12月24日-12月28日的TOP100英雄榜PK阶段。 活动核心亮点&#xff1a; 老会员拉新可享25%返现最高2.5万奖金&a…

RabbitMQ集群原理介绍

文章目录一、RabbitMQ默认集群原理1. RabbitMQ集群元数据的同步2. 为何RabbitMQ集群仅采用元数据同步的方式3. RabbitMQ集群发送/订阅消息的基本原理4. 客户端直接连接队列所在节点5. 客户端连接的是非队列数据所在节点7. 集群节点类型磁盘节点内存节点8. 总结二、RabbitMQ镜像…

mysql统计每周每个学校新增学生数量_深入学习之mysql(四)聚合函数

聚合函数&#xff1a;COUNT统计记录的条数、SUM求和函数、AVG求平均值、MAX求最大值、MIN求最小值一、COUNT练习&#xff1a;1、统计学校一共有多少个学生&#xff1a;mysql> SELECT COUNT(*) AS Total FROM t_student;-------| Total |-------| 13 |-------1 row in set (0…

阿里云物联网平台体验(树莓派+Python篇)

阿里云物联网平台体验(树莓派Python篇) 虽然对阿里云物联网平台比较熟悉了&#xff0c;从一开始就有幸参与了飞凤平台&#xff08;Link Develop 一站式开发平台的前身&#xff09;的一些偏硬件接入的工作。但是同时也见证了阿里云物联网团队从几十人到数百人的迅速扩张&#x…