记录spring定时器
【摘要】 spring定时器如何写
1、xml中加入:
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation 加 "http://www.springframework.org/schema/task classpath:schema/spring-task.xsd"
<context:component-scan base-package="org.reportKanbanX.spring" />
<!-- 开启定时器注解 -->
<task:annotation-driven />
2、写一个类完成业务
RenewRedisShedule.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class RenewRedisShedule implements Runnable {
private static final Logger logger = LoggerFactory.getLogger(RenewRedisShedule.class);
public static boolean isRunning = false;
@Override
public void run() {
if(isRunning==true){
return;
}
isRunning = true;
//写你的业务(定时执行的内容)
//写你的业务
//写你的业务
isRunning = false;
}
}
3、再写个类启动定时器
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
@Autowired
private TaskScheduler taskScheduler;
@Autowired
private RenewRedisShedule task;//上面的类
@PostConstruct
public void scheduleTasks() {
taskScheduler.schedule(task, new CronTrigger("0 0/15 * * * *"));//每隔15分钟
}
}
4、定时任务CronTrigger中表达式,参考https://blog.csdn.net/zcl_love_wx/article/details/53993988
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)