spring定时任务@schedule
来源:互联网 发布:海康网络摄像头价位 编辑:程序博客网 时间:2024/06/05 00:27
现在项目完成了,希望能够在项目中添加定时任务。比如取微信的accesstoken时,每7000s取一次。具体需要修改的地方如下:
1、在spring配置文件中添加task的声明
xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd
2、配置 “异步和定时”的注解
<!-- 异步和定时 --> <task:annotation-driven/>
3、新增一个类,用注解component,方法上用注解schedule即可。具体代码如下:
package com.ciji.zzaclient.schedule;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import com.ciji.zzaservice.service.RegisterService;@Componentpublic class ScheduleSpringTest { @Autowired RegisterService registerService ; @Scheduled(cron ="0/3 * * * * ?") public void updateWeixinAccessToken(){ System.out.println("我在定时执行。。。"+ registerService.selectByPk(44)); }}
这样就实现了在项目中每隔三秒的定时执行的定时器代码。具体的定时规则可以根据具体的业务具体配置。
上面的定时只能每隔三秒执行一次,如果希望项目每次启动时候执行一次,然后每隔三秒执行一次。那么schedule的配置时间表达式如下:
@Scheduled(fixedRate = 1000*3) public void updateWeixinAccessToken(){ System.out.println("我在定时执行。。。"); Thread.sleep(5000); System.out.println(System.currentTimeMillis()); }
而且fixedRate 还有一个作用就是当前线程执行完成后才开始下一个任务开始。具体详见日志:
我在定时执行。。。1452155492058我在定时执行。。。1452155497058我在定时执行。。。
日志说明了线程是每隔五秒后才执行了下一次的定时,而不是每隔三秒就执行。
4 1
- spring schedule定时任务
- spring定时任务@schedule
- spring schedule定时任务
- spring定时任务如何运行 schedule解析
- Spring的@schedule注解实现定时任务
- 利用Spring的@Schedule实现定时任务
- Spring 定时任务(Schedule) 和线程
- Springboot使用定时任务,Spring Schedule
- Spring Boot 定时任务之@Schedule
- Spring@Schedule定时任务源码解析
- Springboot使用定时任务,Spring Schedule
- SpringBoot-@Schedule定时任务
- spring schedule定时任务(一):注解的方式
- spring schedule定时任务(二):配置文件的方式
- spring boot项目中处理Schedule定时任务
- java实现定时任务 Schedule
- java实现定时任务 Schedule
- java实现定时任务 Schedule
- 使用JavaMail创建邮件和发送邮件
- 最大子矩阵
- 检测form表单是否有被修改
- 【Android】一步一步教你从Eclipse移植项目到Android Studio(1.4)
- Node.JS 简单爬虫
- spring定时任务@schedule
- pc端自适应测试
- linux head 命令
- poj 1129 Channel Allocation
- 总结@Autowired 和@Resource,对比异同点!
- NSString(拓展)
- Java中获得线程的返回值
- Linux内核代码风格
- 代码整洁之道