项目里使用到每月的第一天需要定时统计上一个月的某种数据,这个时候,我开始第一次知道任务调度这么一个专业词汇。也初次了解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一次简单应用经历的更多相关文章

  1. Quartz 2D绘制简单图形

    在Quartz 2D中,绘图是通过图形上下文进行绘制的,以下绘制几个简单的图形 首先先创建一个QuartzView.swift文件继承自UIView,然后实现drawRect方法: import UI ...

  2. quartz定时任务的简单使用

    开发环境: springmvc quartz-2.2.3在官网下载的. 步骤: 1.首先在web.xml中加入以下代码: <servlet> <servlet-name>Qua ...

  3. Quartz入门及简单实现

    Quartz简介 Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统.Quartz可以用来创建执行数十,数百乃至数万个作业的 ...

  4. SpringBoot整合Quartz定时任务 的简单实例 2

    (1)什么是Quartz?(2)Quartz的特点:(3)Quartz专用词汇说明:(4)Quartz任务调度基本实现原理: 接下来看下具体的内容: (1)什么是Quartz? Quartz是一个完全 ...

  5. 热词统计以及Quartz.net的简单使用

    一.热词统计 方案一: 设计一个表:ID       KeyWord     Count 当用户再输入框中查询的时候,我们就往表中插入数据,在插入之前首先判断是否已经存在keyword,存在的话,让C ...

  6. c# Quartz.net的简单封装

    分享一个以前封装的Quartz.net类. 新建一个QuartzClass类库项目.nuget控制台输入 image.png 添加Quartz.net的引用. 我们新建一个JobBase.cs文件,里 ...

  7. 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子

    1. 一个简单的Quartz 工程     本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...

  8. Quartz.net 的简单使用,创建定时任务

    ISchedulerFactory sf = new StdSchedulerFactory(); sched = sf.GetScheduler(); JobDetail job = new Job ...

  9. spring 整合quartz的方式——简单介绍

    一.继承QuartzJobBean,重写executeInternal方法 <bean name="statQuartzJob" class="org.spring ...

随机推荐

  1. IT人创业之融资方式 - 创业与投资系列文章

    对于想要创业的IT人,最基本的就是需要资金和团队.笔者在经历了自己制定的职业道路之后(见文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),进行过投资(见文:IT人经济思维之投资 ...

  2. Java语言实现简单FTP软件------&gt;上传下载队列窗口的实现(七)

    1.首先看一下队列窗口的界面 2.看一下上传队列窗口的界面 3.看一下下载队列窗口的界面 4.队列窗口的实现 package com.oyp.ftp.panel.queue; import stati ...

  3. Endian.BIG_ENDIAN和Endian.LITTLE_ENDIAN(http://smartblack.iteye.com/blog/1129097)

    Endian.BIG_ENDIAN和Endian.LITTLE_ENDIAN 在ByteArray和Socket中,能看到一个属性endain. endian : String 更改或读取数据的字节顺 ...

  4. 想要学习Linux技术,先好好的读一本Linux书籍吧

    忘记你在使用windows时的使用习惯和使用思维.学习Linux,一定要适应Linux的命令行界面,因为命令行才是Linux的真正魅力所在,而X-window或着说桌面环境也只是运行在命令行模式下的一 ...

  5. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  6. win10 + Debian9.1双系统安装笔记

    今天去163镜像上下载了"linuxmint-18.2-cinnamon-64bit.iso"和win10安装了双系统,感觉比在桌面方面十分不错,下面mark一下自己安装过程中的总 ...

  7. vs查找功能不显示查找结果

    今天打开vs,查找的时候发现查找结果窗口不出现了,导致看不到查找结果. 网上各种搜索,甚至看到不少说什么要重装vs的解决方案,我也是醉了...... 其实解决办法很简单啊 vs--窗口--重置窗口布局 ...

  8. java中的SHA单向加密

    SHA全名叫做安全散列算法,是FIPS所认证的安全散列算法.能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法.且若输入的消息不同,它们对应到不同字符串的机率很高. package ...

  9. UNITY3d在移动设备上的一些优化实战

    项目进入了中期之后,就需要对程序在移动设备上的表现做分析评估和针对性的优化了,首先前期做优化,很多瓶颈没表现出来,能做的东西不多,而且很多指标会凭预想,如果太后期做优化又会太晚,到时发现一些问题改起来 ...

  10. 搭建ELK集群

    环境准备 基础环境介绍 操作系统 部署应用 应用版本号 IP地址 主机名 CentOS 7.4 Elasticsearch/Logstash 6.4.3 192.168.1.1 elk1 CentOS ...