前言:

在一些项目中,往往需要定时的去执行一些任务,比如商城项目,每天0点去统计前一天的销量。那么如何实现呢,总不可能我们每天0点手动的去执行统计销量的方法吧,这时就quartz就起作用了。

quartz简介:

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.0。
以上是百度百科介绍,我们可以简单的理解其为一个定时调度工具(定时器)。

spring整合quartz:

网上也有很多教程,好多都是基于配置方式,我们使用当然怎么简单就怎么用,所以这里介绍基于注解方式整合quartz。前提:你需要有一个能运行的web项目。
1、引依赖:

       <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.0</version></dependency>

注意:网上有的教程说还必须引入spring-context-support依赖,但是本项目没有引入这个也可以正常使用quartz,可能是最新版不需要这个依赖了。

2、开启quartz的注解:
一般我们都在service层使用quartz,所以在spring-service.xml中进行如下配置:

 <context:component-scan base-package="com.zhu.meilianMall.service" /><task:annotation-driven/>

注意:第一行扫描包的配置是ssm整合本来就需要的,等下quartz的注解也只能在这个包下使用。

3、使用quartz的注解:
com.zhu.meilianMall.service包下创建测试类,在需要定时执行的方法上加上@Scheduled(cron = "cron表达式"),如下:

package com.zhu.meilianMall.service;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;/*** 测试quartz* @author zhu**/
@Service
public class QuartzTest {@Scheduled(cron = "0/2 * * * * ?")public void run() {System.out.println("############### quartz整合成功! "+new Date()+"#####################");}}

注意:既然是在service层测试,测试类不要忘了加@Service注解;cron表达式不会写没关系,百度一下“cron表达式在线生成器”,就会有很多,这里也给出一个:在线cron表达式生成器。本案例中是每隔2秒执行一次run方法。

4、测试:
启动tomcat访问项目,然后控制台就打印出run方法的执行结果了。

image.png

run方法每隔两秒打印一次,整合成功!

总结:

本人对于quartz并不了解,其功能也不止本案例中提及的。不过与spring整合确实够简单,只需要引依赖、开启注解、使用注解3步即搞定。

以上内容属于个人笔记整理,如有错误,欢迎批评指正!

spring整合quartz框架相关推荐

  1. spring整合quartz框架定时任务实战

    Spring整合定时任务调度框架Quartz实战 2014-09-12 11:51 9707人阅读 评论(6) 收藏 举报  分类: [综合问题](74)  版权声明:本文为博主原创文章,未经博主允许 ...

  2. 使用Spring整合Quartz轻松完成定时任务

    一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...

  3. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。...

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  4. Spring 整合 Quartz 分布式调度

    转载自 Spring 整合 Quartz 分布式调度 本文旨在对 Spring+Quartz 分布式调度有一个直观的了解,通过实际的使用来解决问题. 前言 为了保证应用的高可用和高并发性,一般都会部署 ...

  5. 【编程不良人】快速入门Spring学习笔记08---事务属性、Spring整合Structs2框架(SM)、Spring整合Mybatis+Struts2(SSM)、Spring注解、SSM注解式开发

    1. 事务属性 1.1 事务传播属性 配套视频:[编程不良人]快速入门Spring,SpringBoot.SpringCloud学不好完全是因为Spring没有掌握!_哔哩哔哩_bilibili # ...

  6. Spring整合Quartz集群部署

    Spring整合Quartz集群部署 Quartz的分布式模式 数据表创建 quartz.properties spring-job.xml Quartz的分布式模式 集群中的每个节点都是一个独立的Q ...

  7. Spring整合Quartz实现定时任务

    Quartz框架是一个极其成功的开源任务调度框架,目前很多公司在实现任务调度上都直接使用或在借鉴的基础上实现了自己的任务调度框架,Quartz使用Trigger,Job和JobDetail对象实现调度 ...

  8. Quartz学习总结(1)——Spring集成Quartz框架

    一.Quartz简介 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简 ...

  9. Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案

    运行环境:Spring框架整合MaBitis框架 问题叙述: 在Spring配置文件applicationContext-mybatis.xml中配置好mybatis之后 <?xml versi ...

最新文章

  1. web服务器time_wait值过高解决方案
  2. Machine Learning机器学习公开课汇总
  3. ethz ‘s choice for graduate studies
  4. Hibernate三大组成部分
  5. WinDbg实战调试命令笔记
  6. hello~Django
  7. 剑指offer——26.树的子结构(不太熟)
  8. php异业联盟平台源码,基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码
  9. 初次使用uwsgi:no python application found, check your startup logs for errors
  10. RabbitMQ文档翻译——Hello World!(下)
  11. 支付宝异步通知 java_java 支付宝支付 手机网站支付结果异步通知
  12. WeX5和BeX5的区别
  13. Exchange 2010安装先决条件及注意事项
  14. 中国各省所处的经纬度范围
  15. 获取购买到的淘宝商品订单详情API接口,买家订单API接口,买家订单详情API接口
  16. ARM嵌入式实验 熟悉PROTEUS电子仿真软件的使用(LPC2138)
  17. HTML5/Canvas太空射击类小游戏源码
  18. Python 模块简介 -- warnings
  19. 部分win11打开应用商店出错的问题 0x80131500
  20. 第二章:Djgo后台管理

热门文章

  1. OC----预处理器
  2. 我需要完全理解这部分代码才能确保它能够正常工作,如果由我来修复代码中的问题,我是不会这么写的,因此希望你也不要这么来写(转)...
  3. 2013页面验证框架来袭。基于独创的vvc思想。还不知道的童鞋赶快围观吧!
  4. 【转】java字符串池和字符串堆内存分配
  5. ArcGIS10.2安装教程
  6. 12月15日学习内容整理:ORM中的queryset类型,中介模型,extra函数和分组补充
  7. [转载]c#委托事件简单例子
  8. 解读设计模式----迭代器模式(Iterator Pattern),谁才是迭代高手
  9. LeetCode34.在排序数组中查找元素的第一个和最后一个位置 JavaScript
  10. 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?...