Java Web项目中编写定时任务的实现

时间:2021-05-20

之前在的公司有专门的任务调度框架,需要使用的时候引个jar包加个配置和注解就可以使用了,还有专门的平台来维护运行的机器及监控执行状态等等。

现在突然没了这个工具,而又要写定时任务,该怎么办呢?

对于非Web应用来说,我们可以使用Quartz,使用简单,功能强大。

对于Java Web应用来说,当然也可以使用Quartz(有一篇介绍了方法:),但是还有更方便的工具,那就是spring自带的支持定时任务功能。

Spring的定时任务在spring-context中,简单配置的模板如下:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://ponent public class XxxListener implements ApplicationContextAware { // 防止加载多次 private static final AtomicInteger INIT_LOCK = new AtomicInteger(0); @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (INIT_LOCK.incrementAndGet() > 1) { // 类已加载过 return; } Resource resource = applicationContext.getResource("classpath:<标识文件>"); if (!resource.exists()) { // 文件不存在,不启动 return; } ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(applicationContext); context.setConfigLocations("classpath:spring/job.xml"); context.refresh(); } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章