spring定时任务:@Scheduled

本文介绍如何在Spring框架中配置和使用定时任务。首先需要在applicationContext.xml文件中引入task命名空间,并配置定时任务线程池及启用注解式定时任务。接着通过在类上使用@Component注解将类实例化到Spring容器,并在方法上使用@Scheduled注解定义定时任务执行的时间间隔。
摘要由CSDN通过智能技术生成

1. 在applicationContext.xml里加入task的命名空间

xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.1.xsd

2. 在applicationContext.xml中配置定时任务线程池,启用注解式定时任务

<task:annotation-driven scheduler="myScheduler"/> <!-- 定时器开关-->
<task:scheduler id="myScheduler" pool-size="5"/>

3. 方法上使用注解,指定cron

package test;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTest {

    @Scheduled(cron = "0/2 * * * * ? ") // 每隔2秒执行一次
    public void testScheduled(){
        System.out.println("1");
    }

}

spring的定时任务默认是单线程,多个任务执行起来时间会有问题(B任务会因为A任务n秒执行一次,而延后n秒),配置了线程池就不会延后了。

@Component注解:泛指各种组件,当此类不属于mvc的归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类,实例化到spring容器。

cron表达式:参考https://www.cnblogs.com/xiandedanteng/p/3678650.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值