189 8069 5689

对quartz定时任务的初步认识-创新互联

今天就谈一谈我前两天自学的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定时任务的初步认识

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:对quartz定时任务的初步认识-创新互联
浏览路径:http://cdxtjz.cn/article/dehhii.html

其他资讯