微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring利用squertz实现定时任务

spring squertz是一个强大的定时任务处理方式。下面这篇文章主要介绍了spring利用squertz实现定时任务的相关资料,文中介绍的很详细,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧。

前言

说起定时任务,开发的小伙伴们肯定不陌生了。有些事总是需要计算机去完成的,而不是傻傻的靠我们自己去。可是好多人对定时器总感觉很陌生,今天小编就带小伙伴们揭开它的神秘面纱,讲解一下spring利用squertz实现定时任务。

一、需要的Jar

quartz-1.8.5.jar commons-logging.jar spring-core-3.0.5.RELEASE.jar spring-beans-3.0.5.RELEASE.jar spring-context-3.0.5.RELEASE.jar spring-context-support-3.0.5.RELEASE.jar spring-asm-3.0.5.RELEASE.jar spring-expression-3.0.5.RELEASE.jar spring.transaction-3.0.5.RELEASE.jar spring-web-3.0.5.RELEASE.jar

二、配置文件

这里配置你要在什么时候执行你的定时任务,执行的是什么方法,如下面是在2016.11.10 23:00:00,执行com.seewoedu.train.quartz.GenerateRewardListTask的generate方法,这里使用cron指定了执行的时间,相关语法可查看

0 0 9 10 12 ? 2016generate

三、被执行的方法

public class GenerateRewardListTask { @Autowired private GiftReceiveRecordService giftReceiveRecordService; org.slf4j.Logger logger = LoggerFactory.getLogger(GenerateRewardListTask.class); public void generate() throws Exception { giftReceiveRecordService.generateRewardMember(); //执行的方法 } }

四、需要注意的问题

      1、执行时间指定到年份时,会存在一个问题,就是在你在过了这个时间后再启动项目的时候,他会一直报一个memory leak的错误,大概的意思是你的定时任务将永远不会被执行,导致项目一直启动不了。

      2、定时任务是通过你部署项目开始计算到你要执行定时任务的时间间隔,而不是实时获取你服务器时间的方法实现的,所以通过修改服务器时间想测试定时任务是否生效是不可行的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐