本篇内容主要讲解“JavaSpring怎么实现定时任务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaSpring怎么实现定时任务”吧!Jdk自带的库中,有两种方式可以实现定时任务,一种是Timer
,另一种是ScheduledThreadPoolExecutor
。创建一个Timer
就创建了一个线程,可以用来调度TimerTask
任务Timer
有四个构造方法,可以指定Timer
线程的名字以及是否设置为为守护线程。默认名字Timer-编号
,默认不是守护线程。主要有三个比较重要的方法:cancel()
:终止任务调度,取消当前调度的所有任务,正在运行的任务不受影响purge()
:从任务队列中移除所有已经取消的任务schedule
:开始调度任务,提供了几个重载方法:schedule(TimerTask task, long delay)
延时执行,表示delay
毫秒后执行一次task
任务schedule(TimerTask task, Date time)`指定时间执行,到`time`时间的时候执行一次`task
schedule(TimerTask task, long delay, long period)`延时周期执行,经过`delay`毫秒后每`period`毫秒执行一次`task
schedule(TimerTask task, Date firstTime, long period)`指定时间后周期执行,到达指定时间`firstTime`后每`period`毫秒执行一次`task输出:
Thu Jul 07 14:50:02 CST 2022
Thu Jul 07 14:50:03 CST 2022
Thu Jul 07 14:50:04 CST 2022
Thu Jul 07 14:50:05 CST 2022
…………Timer是单线程的,并且不会抛出异常,一旦定时任务抛出异常,将会导致整个线程停止,即定时任务停止。因为Timer
的缺陷,所以不建议使用Timer
,建议使用ScheduledThreadPoolExecutor
。ScheduledThreadPoolExecutor
是Timer
的替代者,于JDK1.5引入,继承了ThreadPoolExecutor
,是基于线程池设计的定时任务类。主要的调度方法:schedule
只执行一次调度,(任务,延迟时间,延迟时间单位)scheduleAtFixedRate
按固定的频率调度,如果执行时间过长,下次调度会延迟,(任务,第一次执行的延迟时间,周期,时间单位)scheduleWithFixedDelay
延迟调度,一次任务执行完后加上延迟时间执行下一次任务,(任务,第一次执行的延迟时间,间隔时间,时间单位)Spring定时任务主要靠@Scheduled
注解实现,corn,fixedDel免费云主机域名ay,fixedDelayString,fixedRate,fixedRateString
五个参数必须指定其一,传两个或三个都会抛出异常项目启动ScheduledAnnotationBeanPostProcessor
的postProcessAfterInitialization()
方法扫描带有@Scheduled
注解的方法:将任务解析并添加到任务队列后,交由ScheduledTaskRegistrar
类的scheduleTasks
方法添加(注册)定时任务到环境中到此,相信大家对“JavaSpring怎么实现定时任务”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
这篇“jquery如何提交post请求”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery如何提交post请求”文章吧。 在jquery中…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。