国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring-boot通過@Scheduled配置定時任務及定時任務@Scheduled注解的方法

spring-boot通過@Scheduled配置定時任務及定時任務@Scheduled注解的方法

2021-02-06 12:09yizw Java教程

這篇文章主要介紹了spring-boot通過@Scheduled配置定時任務,文中還給大家介紹了springboot 定時任務@Scheduled注解的方法,需要的朋友可以參考下

串行的定時任務

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Component
public class ScheduledTimer {
 private Logger logger = Logger.getLogger(this.getClass());
 /**
 * 定時任務,1分鐘執行1次,更新潛在客戶超時客戶共享狀態
 */
 @Scheduled(cron="0 0/1 8-20 * * ?")
 public void executeUpdateCuTask() {
 Thread current = Thread.currentThread();
 logger.info(" 定時任務1:"+current.getId()+ ",name:"+current.getName());
 }
 @Scheduled(cron="0 0/1 8-20 * * ?")
 public void executeGetRepayTask() {
 Thread current = Thread.currentThread();
 logger.info(" 定時任務2:"+current.getId()+ ",name:"+current.getName());
 }
}

并行的定時任務需要添加配置文件

因為spring-boot的目的就是干掉配置文件,我在網上看到的很多都是通過配置文件來實現的,這里通過代碼配置實現:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Configuration
public class ScheduleConfig implements SchedulingConfigurer{
 @Override
 public void configureTasks(ScheduledTaskRegistrar taskRegistrar){
 TaskScheduler taskScheduler = taskScheduler();
 taskRegistrar.setTaskScheduler(taskScheduler);
 }
 @Bean(destroyMethod = "shutdown")
 public ThreadPoolTaskScheduler taskScheduler() {
 ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
 scheduler.setPoolSize(20);
 scheduler.setThreadNamePrefix("task-");
 scheduler.setAwaitTerminationSeconds(60);
 scheduler.setWaitForTasksToCompleteOnShutdown(true);
 return scheduler;
 }
}

網上教程說的需要在啟動類上加上@EnableScheduling注解來發現注解@Scheduled的任務并后臺執行。

可能我沒有通過啟動類是通過外部tomcat啟動的項目,所以沒有加這個注解也能實現定時任務

下面看下springboot 定時任務@Scheduled注解

需要定時器的地方好像還挺多. 之前項目中有用到使用定時器循環訂單時間,然后將超時的訂單狀態更改.

springboot的@Scheduled注解能夠很快速完成我們需要的定時任務.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Component
public class ExampleTimer {
 SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); 
 /*每100秒執行一次*/
 @Scheduled(fixedRate = 100000)
 public void timerRate() {
  System.out.println("我是:timerRate");
 }
 /*第一次10秒后執行,當執行完后2秒再執行*/
 @Scheduled(initialDelay = 10000, fixedDelay = 2000)
 public void timerInit() {
  System.out.println("init : "+dateFormat.format(new Date()));
 }
 /*每天15:39:00時執行*/
 @Scheduled(cron = "0 39 15 * * ? ")
 public void timerCron() {
  System.out.println("current time : "+ dateFormat.format(new Date()));
 }
}

其中需要注意的是:fixedRate和fixedDelay這兩個參數開始計時的時間不一樣.如果需要調用的方法執行時間比較長, 這時差別就能體現出來.

fixedRate:上一次開始執行時間點后再次執行;

fixedDelay:上一次執行完畢時間點后再次執行;

還發現還有一種方法是調用配置文件的方法.

?
1
2
3
4
@Scheduled(fixedDelayString = "${jobs.fixedDelay}")
 public void getTask1() {
 System.out.println("任務1,從配置文件加載任務信息,當前時間:" + dateFormat.format(new Date()));
 }

總結

以上所述是小編給大家介紹的spring-boot通過@Scheduled配置定時任務及定時任務@Scheduled注解的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/yizw/archive/2017/11/17/7850310.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜在线小视频 | 91精品中文字幕一区二区三区 | 一区二区三区在线免费观看 | 九色在线 | 免费视频爱爱太爽了 | 亚洲免费人成在线视频观看 | 国产一区二 | 日本一区二区在线视频 | 羞涩网站| www.一区二区 | 久久久国产精品免费观看 | 黄色在线免费 | 成人免费激情视频 | 欧美福利网址 | 国产片性视频免费播放 | 超碰97国产精品人人cao | 91精品久久久久久久久久久久久久久 | 免费看一区二区三区 | 动漫爱爱视频 | 综合伊人 | 成人国产精品视频 | 精品成人在线 | 欧美大片免费观看 | 二区视频 | 色狠狠久久av五月综合 | 中文字幕乱码视频32 | 亚洲高清资源 | 国产综合亚洲精品一区二 | 精品在线一区二区三区 | 高清hd写真福利在线播放 | 黄色毛片网站在线观看 | 亚洲视频在线免费观看 | 亚州成人 | 日韩中文一区 | 成人在线视频免费观看 | 91在线看 | 亚洲人视频在线观看 | 最新黄色网址在线播放 | 爱色区综合网 | 在线播放中文字幕 | 日韩在线网址 |