使用Spring @Scheduled执行定时任务

1. 文件配置

<!-- 自动扫描(自动注入) -->
<context:component-scan base-package="com.**.**.timer" />
<!-- 定时任务相关配置 -->
<task:executor id="executor" pool-size="10"/>
<task:scheduler id="scheduler" pool-size="10"/>
<task:annotation-driven scheduler="scheduler" executor="executor" proxy-target-class="true"/>

3. 方法实现:

有两种使用方式:

1). 使用cron表达式

@Component
public class testTimer {
    /**
     * 每天凌晨12点开始到1点之间每15分钟执行一次
    */
    @Scheduled(cron = "0 0/15 0 * * ?")
    public void testTask() {
        System.out.println("Scheduled time at: " + new Date());
    }
}


2). 如果需要以固定速率执行,只要将注解中指定的属性名称改成fixedRate即可,例如固定速率5s来调用一次执行可使用@Scheduled(fixedDelay = 5000)。


3. corn参数解释:

CRON表达式    含义 
"0 0 12 * * ?"    每天中午十二点触发 
"0 15 10 ? * *"    每天早上10:15触发 
"0 15 10 * * ?"    每天早上10:15触发 
"0 15 10 * * ? *"    每天早上10:15触发 
"0 15 10 * * ? 2005"    2005年的每天早上10:15触发 
"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 
"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 
"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 
"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 
"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 

"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值