quartz定时器实现

简介:


总结:要实现定时器quartz,我们注意两步就行了,一是写好实现类注意实现类的方法名要和配置中一致,二是做好配置。然后就可以测试了。


①定时器实现类

HealthRecodersTokenScheduler.java

1
2
3
4
public  class  HealthRecodersTokenScheduler {
     public  void  execute()  throws  Exception {
          System.err.println( "=========定时去获取tokenId,tokenId的时效是30分钟有效========:" );
     }


②定时器配置xml

healthrecoders_token-scheduler.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version= "1.0"  encoding= "UTF-8" ?>
<beans xmlns= "http://www.springframework.org/schema/beans"
     xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xmlns:aop= "http://www.springframework.org/schema/aop"
     xmlns:tx= "http://www.springframework.org/schema/tx"
     xsi:schemaLocation="
     http: //www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
     http: //www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
     http: //www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
 
     <!-- quartz -->
     <bean id= "healthTokenScheduler"  class = "com.kentrasoft.entity.healthrecodes.HealthRecodersTokenScheduler" >
     </bean>
     <!-- JobDetail -->
     <bean id= "getTokenDetail"  class = "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
         <property name= "targetObject"  ref= "healthTokenScheduler"  />
         <property name= "targetMethod"  value= "execute"  />
         <!-- 是否允许任务并发执行。当值为 false 时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
         <property name= "concurrent"  value= "false"  />
     </bean>
 
     <!-- Scheduler -->
     <bean  class = "org.springframework.scheduling.quartz.SchedulerFactoryBean" >
         <property name= "triggers" >
             <list>
                 <ref bean= "simpleTrigger"  />
             </list>
         </property>
     </bean>
 
     <!-- 启动后 40 秒执行一次,后面每隔 25 分钟执行一次,
     repeatCount 是执行的次数,- 1 代表永久, 0 代表不执行, 1 代表执行一次
      -->
     <bean id= "simpleTrigger"
         class = "org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" >
         <property name= "jobDetail"  ref= "getTokenDetail"  />
         <property name= "startDelay" >
             <value> 40000 </value>
         </property>
         <property name= "repeatInterval" >
             <value> 1500000 </value>
         </property>
         <property name= "repeatCount" >
             <value>- 1 </value>
         </property>
     </bean>
 
</beans>


③在ApplicationContext.xml中引入配置的定时器xml

ApplicationContext.xml

1
< import  resource= "classpath:scheduler/healthrecoders_token-scheduler.xml" />

注意我们引入的依赖为:

(要注意其他地方是否也包含了quartz,因为有可能会冲突)

1
2
3
4
5
6
         <!-- 定时器quertz -->
     <dependency>
         <groupId>org.quartz-scheduler</groupId>
         <artifactId>quartz</artifactId>
         <version> 2.2 . 0 </version>
     </dependency>





      本文转自建波李 51CTO博客,原文链接:http://blog.51cto.com/jianboli/1982705,如需转载请自行联系原作者



相关文章
|
7月前
|
测试技术
quartz工具类含倒计时
quartz工具类含倒计时
67 0
|
Java 调度
Springboot 使用Quartz定时器执行多个定时任务 配置篇
Springboot 使用Quartz定时器执行多个定时任务 配置篇
796 0
Springboot 使用Quartz定时器执行多个定时任务 配置篇
|
XML 数据格式
SPRING-QUARTZ 定时器 给TARGETMETHOD传递参数
SPRING-QUARTZ 定时器 给TARGETMETHOD传递参数
140 0
|
调度
Quartz-中断正在执行的任务
Quartz-中断正在执行的任务
281 0
|
Java 调度 Maven
定时任务组件Quartz
定时任务组件Quartz
定时任务组件Quartz
|
调度
丁岚-timer定时任务
Timer是java.util提供的一个定时器,可以完成一些简单的定时任务,使用TimeTask以及Timer来实现
226 0
丁岚-timer定时任务
|
调度
Quartz的CronScheduleBuilder和Cron表达式(五)下
Quartz的CronScheduleBuilder和Cron表达式(五)下
344 0
Quartz的CronScheduleBuilder和Cron表达式(五)下
|
前端开发 Linux 调度
Quartz的CronScheduleBuilder和Cron表达式(五)上
Quartz的CronScheduleBuilder和Cron表达式(五)上
941 0
Quartz的CronScheduleBuilder和Cron表达式(五)上
【Quartz】定时器初步实验(一)
原文:【Quartz】定时器初步实验(一)     以前就了解了Quartz这个定时框架,但是一直没有认真的去关注他,最近忽然看到已经更新到3.0.4支持异步操作了所以就写个简单的小例子看看好用不。 第一步:创建项目 创建一个新项目,可以是ASP.NET MVC,WebForms,Winforms等多种.Net项目,这里使用的是VS2017,创建了一个MVC项目     创建完成后大致项目层级为:     第二部:引用 我们首先要在项目中引用Quartz.dll。
901 0
quartz获取定时任务下次执行的时间
quartz很多人都会用,但需要配置cronExpression. 这个cronExpression很多技术人员都要配置,但很多情况,我们要知道这个cronExpression下次执行的时间是啥,让非技术人员很直观的看到下一个定时任务的执行时间。
3162 0