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

xiaoxiao2021-02-28  30

最近公司做了一个定时任务的需求,所以先简单搭一下定时器的环境(当然公司是搭好的环境,改改配置,逻辑代码写好即可),开发工具: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 * *,* * ?" 可以加逗号分割,区分短时间,星期以后的长时间

"30 * * * * ?"  每半分钟触发任务  "30 10 * * * ?" 每小时的1030秒触发任务  "30 10 1 * * ?" 每天11030秒触发任务  "30 10 1 20 * ?"    每月2011030秒触发任务  "30 10 1 20 10 ? *" 每年102011030秒触发任务  "30 10 1 20 10 ? 2011"  2011102011030秒触发任务  "30 10 1 ? 10 * 2011"   201110月每天11030秒触发任务  "30 10 1 ? 10 SUN 2011" 201110月每周日11030秒触发任务  "15,30,45 * * * * ?"    每15秒,30秒,45秒时触发任务  "15-45 * * * * ?"   1545秒内,每秒都触发任务  "15/5 * * * * ?"    每分钟的每15秒开始触发,每隔5秒触发一次  "15-30/5 * * * * ?" 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次  "0 0/3 * * * ?" 每小时的第00秒开始,每三分钟触发一次  "0 15 10 ? * MON-FRI"   星期一到星期五的10150秒触发任务  "0 15 10 L * ?" 每个月最后一天的10150秒触发任务  "0 15 10 LW * ?"    每个月最后一个工作日的10150秒触发任务  "0 15 10 ? * 5L"    每个月最后一个星期四的10150秒触发任务  "0 15 10 ? * 5#3"   每个月第三周的星期四的10150秒触发任务 
转载请注明原文地址: https://www.6miu.com/read-2613653.html

最新回复(0)