• 使用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处定义,具体表达式含义在另一篇文章中。
  • 相关阅读:
    学习java集合LinkedHastSet
    学习java,equals方法
    学习java,入门语言java的感概
    学习java哈希值,java入门编程语言
    学习java集合HashSet
    学习java集合set集合
    学习java集合LinkedList
    学习java集合Arraylist
    学习java集合list集合
    学习Java数据结构(入门选Java)
  • 原文地址:https://www.cnblogs.com/kangyun/p/5616106.html
Copyright © 2020-2023  润新知