scheduled

更新时间:2022-11-26 05:29:17 阅读: 评论:0


2022年11月26日发(作者:狗仔网)

Java@Scheduled注解执⾏定时任务

之前⼀直是⽤的Timer实现定时任务

今天知道了有这样⼀种简单的注解⽅式执⾏定时任务:

使⽤⽅法

在spring的xml的配置中开启task

然后启⽤task,并扫描⽬录包下的类装配成bean

@Controller@Service@Component@Repository都是声明bean的⽅式

设置定时任务:

cron的规则如下:

econds(秒):可以⽤数字0-59表⽰

Minutes(分):可以⽤数字0-59表⽰

Hours(时):可以⽤数字0-23表⽰

Day-of-Month(天):可以⽤数字1-31中的任⼀⼀个值,但要注意⼀些特别的⽉份

Month(⽉):可以⽤0-11或⽤字符串“JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOVandDEC”表⽰

Day-of-Week(每周):可以⽤数字1-7表⽰(1=星期⽇)或⽤字符⼝串“SUN,MON,TUE,WED,THU,FRIandSAT”表⽰

“/”:为特别单位,表⽰为“每”如“0/15”表⽰每隔15分钟执⾏⼀次,“0”表⽰为从“0”分开始,“3/20”表⽰表⽰每隔20分

钟执⾏⼀次,“3”表⽰从第3分钟开始执⾏

“?”:表⽰每⽉的某⼀天,或第周的某⼀天

“L”:⽤于每⽉,或每周,表⽰为每⽉的最后⼀天,或每个⽉的最后星期⼏如“6L”表⽰“每⽉的最后⼀个星期五”

“W”:表⽰为最近⼯作⽇,如“15W”放在每⽉(day-of-month)字段上表⽰为“到本⽉15⽇最近的⼯作⽇”

““#”:是⽤来指定“的”每⽉第n个⼯作⽇,例在每周(day-of-week)这个字段中内容为”6#3”or“FRI#3”则表⽰“每⽉

第三个星期五”

这样的注解可以很⽅便的得到如母亲节之类的⽇期

“?”和“*”的区别有⼈可能不懂

⽐⽅我上⾯的规则

0/5****?

意思是0秒开始5秒执⾏⼀次但是⽇期和星期是会冲突的

表⽰不确定也就是说⽇期和星期⼏⼀个为*另⼀个只能为

注意事项

1.定时任务没有返回值

2.@Scheduled⽅法上的的注解

3.类需要被spring装配成bean

4.若需要和别的类进⾏交互,⼀般通过依赖注⼊进⾏

本文发布于:2022-11-26 05:29:17,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/23143.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:cyno
标签:scheduled
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图