温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

对quartz定时任务的初步认识

发布时间:2020-07-01 06:25:54 来源:网络 阅读:344 作者:26度出太阳 栏目:网络安全

今天就谈一谈我前两天自学的quartz定时任务吧,我对quartz定时任务的理解,就是可以设定一个时间,然后呢,在这个时间到的时候,去执行业务逻辑,这是我的简单理解,接下来看代码是如何实现的,首先有两种实现的方式,一种是通过代码实现,另一种是通过配置文件实现,我建议使用配置文件配置的方式实现定时任务,毕竟以后有什么变化,只需要改配置文件就可以了,不需要改代码,重新编译,重新部署。

      先来讲一下第一种纯代码实现的定时任务。

第一步需要先下载所必须的jar包,我使用的jar包是:

对quartz定时任务的初步认识

第二步,写一个类实现Job接口,里面只有一个方法execute,在这个方法里写上自己的业务逻辑即可,时间到的时候就会执行这里的业务逻辑。

对quartz定时任务的初步认识

第三步,写一个定时任务管理类QuartzManager.java,在这个类里有增加定时任务的方法,由于触发器有两种,第一种的simpleTrigger简单触发器,第二种是cronTrigger,可以定义很复杂的时间,所以有两种增加定时任务的方法。

第一种方法使用simpleTrigger简单触发器

对quartz定时任务的初步认识

 上面代码的注释写的很清楚,着重介绍一下jobDataMap,这个map是用于传递参数的,可以将这里设的值,在任务里获取到,以便不时之需。

第二种方法是使用cronTrigger触发器

对quartz定时任务的初步认识

这个方法和第一种方法的区别就是触发器的不同,导致设置时间的方式不同而已,但是为了应付现实中比较复杂的场景,建议使用第二种触发器。

第四步,写一个main方法用于测试

对quartz定时任务的初步认识

着重介绍一下第二种触发器的时间设置规则,上面的0/5 * * ? * * *的意思是每隔5秒执行一次任务,接下来会列出一些常用的时间

对quartz定时任务的初步认识

对quartz定时任务的初步认识

对quartz定时任务的初步认识

    接下来讲一下使用配置文件实现的定时任务。

第一步需要先下载所必须的jar包,我使用的jar包是:

对quartz定时任务的初步认识

第二步,写一个类实现Job接口,里面只有一个方法execute,在这个方法里写上自己的业务逻辑即可,时间到的时候就会执行这里的业务逻辑。

对quartz定时任务的初步认识

第三步,是需要log4j的配置文件,quartz的配置文件和quartz_jobs.xml

对quartz定时任务的初步认识

对quartz定时任务的初步认识

 

 对quartz定时任务的初步认识

接下来是quartz_jobs.xml,这个文件的位置有些要求,看目录结构

对quartz定时任务的初步认识

这个文件里面的具体内容就是配置job,配置trigger

对quartz定时任务的初步认识

对quartz定时任务的初步认识

 

 对quartz定时任务的初步认识

在这个配置文件里,我定义了两个任务,一个任务使用的simpleTrigger,另一个使用的是cronTrigger

第四步,写一个测试类,测试定时任务,在这个类里只需要从调度工厂里获取调度,然后开启调度即可。

对quartz定时任务的初步认识

上述两种实现定时任务的方式就实现了,不过本人强烈建议使用配置的方式实现定时任务,好处就不再多说了。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI