Spring管理的Quartz定时任务-入门

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_38064463/article/details/80628756

最近公司做了一个定时任务的需求,所以先简单搭一下定时器的环境(当然公司是搭好的环境,改改配置,逻辑代码写好即可),开发工具:Eclipse

首先,新建一个maven工程Timer

在pom文件里添加 spring-context-support,spring-tx,quarz三个jar包,spring-context-support 这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。spring-tx提供事务处理,quarz定时任务依赖的jar

百度repository,maven中央仓库找到相关依赖坐标如下



三个添加完毕后,自动下载jar包,基础环境就好了。


写两个简单定时任务类、内容都是打印当前日期,如图


类路径下新建配置文件:applicationContext-quartz.xml,配置如下:第一个框是定时任务列表,第二框是spring管理的定时类的bean,第三个框是定时任务详细配置,<property name="cronExpression" value="0 0/1 * *,* * ?" />执行时间;<property name="targetObject" ref="TestFristTimer" />,<property name="targetMethod" value="fristPushTimer" />定时任务执行的类,方法。


新建一个启动类,加载配置文件


工程运行



附带:Cron表达式的使用格式是:秒 分 时 日 月 周 年(可选),如 0 0/1 * *,* * ?" 可以加逗号分割,区分短时间,星期以后的长时间

  1. "30 * * * * ?"  每半分钟触发任务  
  2. "30 10 * * * ?" 每小时的1030秒触发任务  
  3. "30 10 1 * * ?" 每天11030秒触发任务  
  4. "30 10 1 20 * ?"    每月2011030秒触发任务  
  5. "30 10 1 20 10 ? *" 每年102011030秒触发任务  
  6. "30 10 1 20 10 ? 2011"  2011102011030秒触发任务  
  7. "30 10 1 ? 10 * 2011"   201110月每天11030秒触发任务  
  8. "30 10 1 ? 10 SUN 2011" 201110月每周日11030秒触发任务  
  9. "15,30,45 * * * * ?"    每15秒,30秒,45秒时触发任务  
  10. "15-45 * * * * ?"   1545秒内,每秒都触发任务  
  11. "15/5 * * * * ?"    每分钟的每15秒开始触发,每隔5秒触发一次  
  12. "15-30/5 * * * * ?" 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次  
  13. "0 0/3 * * * ?" 每小时的第00秒开始,每三分钟触发一次  
  14. "0 15 10 ? * MON-FRI"   星期一到星期五的10150秒触发任务  
  15. "0 15 10 L * ?" 每个月最后一天的10150秒触发任务  
  16. "0 15 10 LW * ?"    每个月最后一个工作日的10150秒触发任务  
  17. "0 15 10 ? * 5L"    每个月最后一个星期四的10150秒触发任务  
  18. "0 15 10 ? * 5#3"   每个月第三周的星期四的10150秒触发任务 

展开阅读全文

没有更多推荐了,返回首页