zoukankan      html  css  js  c++  java
  • 使用quartz实现定时器功能

    首先导入两个包
     1     <dependency>
     2         <groupId>org.quartz-scheduler</groupId>
     3         <artifactId>quartz</artifactId>
     4         <version>2.2.2</version>
     5     </dependency>
     6     <dependency>
     7         <groupId>org.quartz-scheduler</groupId>
     8         <artifactId>quartz-jobs</artifactId>
     9         <version>2.2.2</version>
    10     </dependency>
     
    然后写一个类用来当作定时器类,同时写一个方法为定时器执行的方法:
     1 package com.practice.prac.service.Impl;
     2  
     3 import org.springframework.stereotype.Component;
     4  
     5 @Component
     6 public class TestTime {
     7  
     8     public void print(){
     9         System.out.println("----------");
    10     }
    11 }
    这里是TestTime类和print方法
    在xml文件中定义以下bean:
     1 <!-- 以下为quartz实现定时器 -->
     2  
     3     <!-- 指明作为定时器的类 -->
     4     <bean id="TestTime" class="com.practice.prac.service.Impl.TestTime"></bean>
     5     <!-- 配置对应的信息 -->
     6     <bean id="TestTimeDetail"
     7         class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
     8         <!-- 指定任务类 -->
     9         <property name="targetObject" ref="TestTime" />
    10         <!-- 指定任务执行的方法 -->
    11         <property name="targetMethod" value="print" />
    12     </bean>
    13     <!-- 配置触发器 -->
    14     <bean id="TestTimeTrigger"
    15         class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    16         <property name="jobDetail" ref="TestTimeDetail" />
    17         <!-- 每5秒运行一次 -->
    18         <property name="cronExpression" value="0/5 * * * * ?" />
    19     </bean>
    20  
    21     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    22         <property name="triggers">
    23             <list>
    24                 <!-- <ref bean="exampleJobTrigger" /> -->
    25                 <ref bean="TestTimeTrigger" />
    26             </list>
    27         </property>
    28     </bean>
    其中名字跟ref对应,指定任务类和指定任务执行的方法对应上就可以了。
    定时触发在触发器的cronExpression处定义,具体表达式含义在另一篇文章中。
  • 相关阅读:
    设定cookie 获取cookie数据的转换
    cookie cookie的获取
    常见的请求方式 json字符串
    请求报文和响应报文
    http协议
    php分页查询 子查询
    MAC 地址为什么不需要全球唯一
    ceph分布式存储简介
    一文看懂为什么边缘计算是大势所趋
    真香!Windows 可直接运行 Linux 了
  • 原文地址:https://www.cnblogs.com/kangyun/p/5616106.html
Copyright © 2011-2022 走看看