quartz一次简单应用经历
项目里使用到每月的第一天需要定时统计上一个月的某种数据,这个时候,我开始第一次知道任务调度这么一个专业词汇。也初次了解quartz这个任务调度框架。网上看了好几篇博文,有种quartz越看越难的感觉,直到看到注解版的。quartz是被spring很好支持的,再加上maven管理一下依赖,那就简直容易到简直..按照以下顺序,包你马上看到一个任务调度器的调度效果。
第一步:
首先在applicationContext.xml文件添加一下内容
头部添加:http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
内容添加:
<!-- 扫描定时作业调度包 -->
<task:annotation-driven/>
<context:component-scan base-package="com.lanshankeji.teachertrainingsystem.controller.common"/> ----包扫描路径是你调度器所在的包路径
pom.xml文件添加以下依赖
<!-- quratz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
我在com.lanshankeji.teachertrainingsystem.controller.common路径下创建了一个如何的类:
@Component
public class MonthlyClearingController {
@Autowired
private TeacherInfoService teacherInfoService;
@Autowired
private DiagnosisRecordService diagnosisRecordService;// 问诊记录
@Autowired
private TeacherAnswerAchievementMonthConfigService answerAchievementMonthConfigService;
@Autowired
private TeacherIncomeInfoService teachIncomeInfoService;
/**
* 每月一号零点定时统计教师上个月薪酬 并写入收入详细表 -- teacher_income_info
*/
@Scheduled(cron = "0 32 15 7 11 ?") 添加了这个注解,spring会扫描它的
public void insertTeacherIncomeInfos() {
List<TeacherIncomeInfo> teacherIncomeInfos = getAllTeacherIncomeInfosOfLastMonth();
teachIncomeInfoService.insert(teacherIncomeInfos);
}
解析一下我的理解: @Scheduled(cron = "0 32 15 7 11 ?")
@Scheduled这个注解会表示这是一个调度器,cron = "0 32 15 7 11 ?"是触发时间 就是11月7号15点32分0秒会执行insertTeacherIncomeInfos() 这个方法
启动tomcat,你会发现在上面那个触发时间点事件会被触发执行!
使用quart关键是四种类:
Scheduler调度器
Trigger触发器 Job任务JobDetail任务详情 按照官网的写法是以上类是分开书写,解耦灵活,可以搭建复杂多样的任务调度;本文所尝试使用的注解式开发,是把这几种类集合在一块了,但原理本质上是一样的。
希望以上文章可以帮助你快速看到调度效果,增加干下去的信息,哈哈。
quartz一次简单应用经历的更多相关文章
- Quartz 2D绘制简单图形
在Quartz 2D中,绘图是通过图形上下文进行绘制的,以下绘制几个简单的图形 首先先创建一个QuartzView.swift文件继承自UIView,然后实现drawRect方法: import UI ...
- quartz定时任务的简单使用
开发环境: springmvc quartz-2.2.3在官网下载的. 步骤: 1.首先在web.xml中加入以下代码: <servlet> <servlet-name>Qua ...
- Quartz入门及简单实现
Quartz简介 Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统.Quartz可以用来创建执行数十,数百乃至数万个作业的 ...
- SpringBoot整合Quartz定时任务 的简单实例 2
(1)什么是Quartz?(2)Quartz的特点:(3)Quartz专用词汇说明:(4)Quartz任务调度基本实现原理: 接下来看下具体的内容: (1)什么是Quartz? Quartz是一个完全 ...
- 热词统计以及Quartz.net的简单使用
一.热词统计 方案一: 设计一个表:ID KeyWord Count 当用户再输入框中查询的时候,我们就往表中插入数据,在插入之前首先判断是否已经存在keyword,存在的话,让C ...
- c# Quartz.net的简单封装
分享一个以前封装的Quartz.net类. 新建一个QuartzClass类库项目.nuget控制台输入 image.png 添加Quartz.net的引用. 我们新建一个JobBase.cs文件,里 ...
- 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子
1. 一个简单的Quartz 工程 本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...
- Quartz.net 的简单使用,创建定时任务
ISchedulerFactory sf = new StdSchedulerFactory(); sched = sf.GetScheduler(); JobDetail job = new Job ...
- spring 整合quartz的方式——简单介绍
一.继承QuartzJobBean,重写executeInternal方法 <bean name="statQuartzJob" class="org.spring ...
随机推荐
- SVN命令行操作
参考 https://wenku.baidu.com/view/511a7d29ed630b1c59eeb5f3.html 1, 将文件checkout到本地目录 svn check out http ...
- Linux中Nginx安装教程
Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的 ...
- maven工程 添加本地jar依赖
和第三方平台对接的时候要用到对方提供的一个jar包,jar包怎么直接添加到pom文件的依赖中呢? jar包一般都是公共的,要上传到私服仓库.我们都是直接登录私服,操作仓库. 登录私服可以在项目的pom ...
- LVS(一):基本概念和三种模式
网站架构中,负载均衡技术是实现网站架构伸缩性的主要手段之一.所谓"伸缩性",是指可以不断向集群中添加新的服务器来提升性能.缓解不断增加的并发用户访问压力. 负载均衡有好几种方式:h ...
- 使用syslog服务器存储cp防火墙日志配置
版本:R80.20 step1:创建syslog 服务器,如下图: step2:配置syslog 服务器,如下图: step3:配置网关日志服务器,添加设定的syslog服务器,如下图: st ...
- 区间dp(入门题)
区间dp:顾名思义就是在区间上进行动态规划,通过合并小区间求解一段区间上的最优解. 常见模板: for(int len=1;len<n;len++){//区间长度 for(int be=1;be ...
- 如何看iOS崩溃日志
重点:Triggered by Thread这句话后边的线程号,快速定位问题出现在那个线程,是否是你的锅:Triggered by Thread所指的线程表示导致异常.崩溃的线程 下边内容转自简书 简 ...
- Hillstone基础上网配置
1.接口配置 1)进入设备管理界面后,点击左边 网络—接口: 2)选择相应的接口,点击编辑: 3)在接口配置界面中,选择接口的安全域类型(三层接口即为三层安全域,二层接口即为二层安全域).安全域名称 ...
- ARM指令集详解
一.跳转指令 B: 跳转指令 BL: 带返回的跳转指令 BLX: 带返回和状态切换的跳转指令 BX: 带状态切换的跳转指令 二.数据处理指令 1.MOV:数据传送指令 MOV{条件}{S} 目的 ...
- Day3 -4.9!受到毕设的突然袭击,一脸蒙蔽,学习暂时停止,明晚继续
PS:啊啊啊啊,慌张的不行,不详的预感终于爆发了,第二次毕设评图好突然,没办法了,竹径和学习突然搁置,明晚健身/建模/补更Day3,感到崩溃 ————————————————————————————— ...