博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring中使用Schedule调度
阅读量:6984 次
发布时间:2019-06-27

本文共 1614 字,大约阅读时间需要 5 分钟。

  在spring中两种办法使用调度,以下使用是在spring4.0中。

  一、基于application配置文件,配置入下:

  

1     
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

其中的businessObject类就是调用调度的类,代码如下:

  

1 public class BusinessObject {2 3     int count=0;4     public void invoke(){5         System.out.println(getClass().getName()+"被调用了。。。"+(count++)+"次。");6         7     }8 }

 

以上配置中targetMethod指定了调度的方法,concurrent设置是否并发执行。触发器中 startDelay设置程序之前延迟,单位是毫秒。repeatInterval设置执行的间隔,单位是毫秒。最后配置的是调度工厂,指定触发器。

 *这种方法需要quartz.jar 和quartz-jobs.jar包的支持。 

   二、基于spring注解实现调度

   使用spring注解来驱动调度,首先需要在spring配置文件中加入task命名空间,xmlns:task="http://www.springframework.org/schema/task"。接着加入调度注解扫描配置:

  

  接着是写注解的调度代码:

  

1 @Component 2 public class AutoSchedule { 3  4     private int count=0; 5      6     @Scheduled(fixedDelay=5000) 7     public void invoke(){ 8         System.out.println("被调用了:"+count++); 9     }10 }

@Scheduled注解的方法就会在程序启动时候被自动执行,其中几个常配置的参数,分别是

  fixedRate: 每一次执行调度方法的间隔,可以不用等上一次方法执行结束。可以理解为并发执行的。

  fixedDely: 两次调度方法执行的间隔,它必须等上一次执行结束才会执行下一次。

  cro: 配置调度配置字符串。

其中配置字符串可以从properties文件中取得。例如:

  

1 @Scheduled(cron = "${cron.expression}")2     public void demoServiceMethod()3     {4         System.out.println("Method executed at every 5 seconds. Current time is :: "+ new Date());5     }

  在spring配置文件中引用配置文件:

  

1 
2

 

转载于:https://www.cnblogs.com/bigbang92/p/spring-schedule.html

你可能感兴趣的文章
MDT2012部署问题,MDT中的驱动是如何工作的
查看>>
Selenium 使用要点记录<二>
查看>>
Windows与Linux系统拷贝文件之pscp的使用
查看>>
_xmlXPathNewContext", referenced from
查看>>
Netty3之ServerBootstrap分析
查看>>
小木木的Python学习笔记
查看>>
用SQL语句添加删除修改字段
查看>>
运维少年系列 python and cisco (1)
查看>>
c#时间转换
查看>>
调度器Quartz的简述与使用总结
查看>>
smokeping 安装
查看>>
Linux下安装oracle数据库步骤
查看>>
yum 不小心删除后安装
查看>>
vim 使用
查看>>
为敏感信息设置安全屏障
查看>>
mysql fabric安装使用测试
查看>>
java 对 mongoDB 分组统计操作 以及一些常用操作
查看>>
当你扛不住的时候就读读
查看>>
解决安装rrdtool遇到的一个问题
查看>>
linux启动过程
查看>>