SpringBoot 定时任务cron

作者&投稿:左丘善 (若有异议请与网页底部的电邮联系)
~ 首先在启动类中加上注解 @EnableScheduling

二、

"0/5 * * * * ?"代表每隔五秒执行一次。

cron一共有7位,最后一位是年,可以留空,所以我们可以写6位:
第一位,表示秒,取值0-59
第二位,表示分,取值0-59
第三位,表示小时,取值0-23
第四位,表示日,取值1-31
第五位,表示月份,取值1-12
第六位,表示星期/周,取值1-7,1表示星期天,2表示星期一。
第7为,表示年份,可以留空,取值1970-2099
其中最难理解的就是那些符号了,下面每个符号举个栗子:

, :表示列出枚举值,例如在第二位使用5,35,表示在分钟数为5、35时执行。
- :表示范围,例如在第二位使用5-35,表示在分钟数为5到35时每分钟都执行。
* :表示匹配该域的任意值。例如在第二位使用 * 表示分钟数不做限制,每分钟都会执行。
/ :表示起始时间开始执行,然后每隔固定时间执行一次。例如在第二位使用5/6,表示在分钟数为5时执行一次,然后隔6分钟执行一次,也就是在11、17分钟再分别执行。

? :只能用在第四位(日)和第六位(星期)两个域,因为这两个域互斥,必须对其一设置?。
L :表示最后。只能用在第四位(日)和第六位(星期)两个域,如果在第六位使用5L,意味着在最后的一个星期四执行。
W :表示有效工作日(周一到周五),只能出现在第四位(日)域。系统将在离指定日期最近的有效工作日出发事件。如15W,表示最接近15号的工作日,可能是15号(刚好是工作日)那就在15号执行。15号如果不是工作日,是星期天,那就往后推,在16号执行。16号是最接近工作日的日期。
LW :表示某个月最后一个工作日。
# :用于确定每个月第几个星期几,只能出现在第六位(星期)域,例如4#3,表示某月的第3个星期三。
C ::只能用在第四位(日)和第六位(星期)两个域,需要关联日历,如果没关联可以忽略。

专有符号中除?外,在spirng定时任务中都 不支持 .
测试

项目启动的时候就会出现异常

那在哪里能使用呢??
Quartz 支持。
在线Cron表达式生成器 可以去测试一下.

定时任务默认是单线程的,如果认为持续时间较长,就会将后面的定时任务拖延,导致丢失任务。
测试:

可以看出这两个定时任务都是一个线程在执行,如果有一个定时任务执行比较耗时(比如:configureTasks模拟耗时,开启线程睡眠),就会造成任务丢失。

启动类上加上注解


怎么做无盘网吧系统?
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

怎么解决网吧安装程序重起更新的问题?
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

网吧无盘系统怎么做
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

VMware虚拟机能不能让另一台电脑的系统在我的电脑中安装运行?
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

想学做无盘。请问怎么做。服务器的配置要什么样?我带20台机器?_百度知 ...
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

无盘怎么做呀
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

无盘网吧系统如何安装?网上有成套的系统和教程吗?
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

网吧的电脑无盘系统究竟该怎么搞?300台左右的电脑,对服务器和交换机以及...
打开注册表编辑器,并展开到“HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders”下面,把下面各项设置到Z盘下面的相应的文件夹里:Cache、CD Burning、Cookies、Favorites、History、My Music、My Pictures、My Video、NetHood、Personal、PringHood、Recent、SendTo、Templates。经过...

建瓯市19231972622: spring定时任务cronExpression怎么设置从某一天到月底.例如:每月21号到月底 21 - L不行 -
雕饲硫酸: 每月21号到月底的零点零分零秒:0 0 0 21/1 * ? ,从21号开始,增量为一天执行任务

建瓯市19231972622: 如何在spring中配置定时任务 -
雕饲硫酸: spring的定时任务配置分为三个步骤: 1、定义任务 2、任务执行策略配置 3、启动任务 1、定义任务<!--要定时执行的方法--><bean id="testTaskJob" e5a48de588b6e799bee5baa631333337616566class="org.springframework....

建瓯市19231972622: spring cron配置每天上午10点,下午2点半定时的定时任务怎么配 -
雕饲硫酸: 你这个问题,如果用一个定时服务不好实现.如果让我做,就是在spring里配置2个定时服务. 一个定时在23:00启动,启动后就干活; 另一个定时在9:00启动,启动后就给前一个任务发送“停止”命令. cron表达式很简单,第一个表达式 0 0 21 * * ? 第二个表达式0 0 9 * * ? 这样就ok了刚又想到了一种思路,就是配置2个cron表达式 0 * 21-23 * * ? 0 * 0-8 * * ?

建瓯市19231972622: spring怎么设置定时任务为每天凌晨2点执行和每小时执行一次? -
雕饲硫酸: 每天凌晨2点 0 0 2 * * ?和每天隔一小时 0 * */1 * * ?例1:每隔5秒执行一次:*/5 * * * * ?例2:每隔5分执行一次:0 */5 * * * ?在26分、29分、33分执行一次:0 26,29,33 * * * ?例3:每天半夜12点30分执行一次:0 30 0 * * ? (注意日期域为0不...

建瓯市19231972622: spring cron配置每几分钟怎么设置 -
雕饲硫酸: 什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web...

建瓯市19231972622: 如何用Spring实现集群环境下的定时任务 -
雕饲硫酸: 定时任务的实现方式有多种,例如JDK自带的Timer+TimerTask方式,Spring 3.0以后的调度任务(Scheduled Task),Quartz等.Timer+TimerTask是最基本的解决方案,但是比较远古了,这里不再讨论.Spring自带的Scheduled Task是一个轻量...

建瓯市19231972622: spring怎样设置动态定时任务 -
雕饲硫酸: 在spring 中 基于注解的 定时配置很简单,只需要三步哦,如下: 1、在类名前加@Component注解,标记该bean,也就是配置扫描标记. 2、在该类下的方法前加定是配置注解,@Schedule("cron= 0/30 * * * * *"). 3、添加配置文件(如下).

建瓯市19231972622: java工程中怎么用spring定时任务 -
雕饲硫酸: @Scheduled(cron = "0 0 2 * * ?") spring里面有个注解是关于定时任务的,可去网上收@Scheduled这个会有很多具体的例子的

建瓯市19231972622: spring多个时间点定时任务怎么配 -
雕饲硫酸: 帮你找了一下 没有找到 前置任务 后置任务之类的 不过可以手动实现,执行任务的时候 第一个任务类定一个全局变量 值为0 第二个任务定义一个变量为1 然后第二个任务执行的时候判断是否大于第一个 大于就执行 当然第一个任务执行过后这个变量要相加

建瓯市19231972622: spring 怎么启动定时任务 -
雕饲硫酸: <1>、在配置信息中SchedulerFactoryBean定义了多个触发器,在启动Spring后,就是从这个配置获取到触发器.<2>、触发器是通过CronTriggerBean来配置,它设置了任务类和任务启动的时间<3>、MethodInvokingJobDetailFactoryBean是任务类的配置,设置了执行任务的对象是那个Bean和需要执行这个Bean大那个方法.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网