最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Spring Boot 教程:調(diào)度

2020-09-11 14:57 作者:信碼由韁  | 我要投稿

【注】本文譯自: https://www.tutorialspoint.com/spring_boot/spring_boot_scheduling.htm

? ? 調(diào)度用來處理特定時(shí)間周期的任務(wù)。Spring Boot 為 Spring 應(yīng)用編寫調(diào)度器提供了良好的支持。

Java Cron 表達(dá)式

? ?Java Cron 表達(dá)式用于配置 CronTrigger 實(shí)例,是 org.quartz.Trigger 的子類。關(guān)于 Java cron 表達(dá)式的更多信息可參考:https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm

? ?@EnableScheduling 注解用于使你的應(yīng)用能夠使用調(diào)度器。這個(gè)注解應(yīng)當(dāng)被加在主 Spring Boot 應(yīng)用類文件中。

@SpringBootApplication

@EnableScheduling

public?class?DemoApplication?{

???public?static?void?main(String[]?args)?{

??????SpringApplication.run(DemoApplication.class,?args);

???}

}

? ?@Scheduled 注解用于觸發(fā)一個(gè)特定時(shí)間周期的調(diào)度器。

@Scheduled(cron?=?"0?*?9?*?*??")

public?void?cronJobSch()?throws?Exception?{

}

? ?以下代碼展示了如何在每天的早上 9:00 到 9:59 之間每分鐘執(zhí)行任務(wù):

package?com.tutorialspoint.demo.scheduler;

import?java.text.SimpleDateFormat;

import?java.util.Date;

import?org.springframework.scheduling.annotation.Scheduled;

import?org.springframework.stereotype.Component;

@Component

public?class?Scheduler?{

???@Scheduled(cron?=?"0?*?9?*?*??")

???public?void?cronJobSch()?{

??????SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss.SSS");

??????Date?now?=?new?Date();

??????String?strDate?=?sdf.format(now);

??????System.out.println("Java?cron?job?expression::?"?+?strDate);

???}

}

? ?以下截圖展示了應(yīng)用在?09:03:23?啟動(dòng)之后如何每隔一分鐘執(zhí)行一次:


固定頻度

? ?固定頻度調(diào)度器被用于在特定時(shí)間執(zhí)行任務(wù)。它不等待前一個(gè)任務(wù)完成,時(shí)間單位為毫秒。示例代碼如下:

@Scheduled(fixedRate?=?1000)

public?void?fixedRateSch()?{?

}

? ?以下代碼示例是應(yīng)用啟動(dòng)后的每秒鐘執(zhí)行一個(gè)任務(wù):

package?com.tutorialspoint.demo.scheduler;

import?java.text.SimpleDateFormat;

import?java.util.Date;

import?org.springframework.scheduling.annotation.Scheduled;

import?org.springframework.stereotype.Component;

@Component

public?class?Scheduler?{

???@Scheduled(fixedRate?=?1000)

???public?void?fixedRateSch()?{

??????SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss.SSS");

??????Date?now?=?new?Date();

??????String?strDate?=?sdf.format(now);

??????System.out.println("Fixed?Rate?scheduler::?"?+?strDate);

???}

}

? ?觀看以下截屏,可以看出應(yīng)用在?09:12:00 啟動(dòng)后以每隔一秒鐘的固定頻度執(zhí)行任務(wù)。


固定延遲

? ?固定延遲調(diào)度器用于在指定時(shí)間執(zhí)行任務(wù)。它應(yīng)當(dāng)?shù)却弦粋€(gè)任務(wù)完成,單位為毫秒。示例代碼如下:

@Scheduled(fixedDelay?=?1000,?initialDelay?=?1000)

public?void?fixedDelaySch()?{

}

? ?這里,initialDelay 是在初始化之后到首次執(zhí)行間的延遲值。

? ?下面的例子中,是從應(yīng)用啟動(dòng)完成后 3 秒后執(zhí)行每秒一次的任務(wù):

package?com.tutorialspoint.demo.scheduler;

import?java.text.SimpleDateFormat;

import?java.util.Date;

import?org.springframework.scheduling.annotation.Scheduled;

import?org.springframework.stereotype.Component;

@Component

public?class?Scheduler?{

???@Scheduled(fixedDelay?=?1000,?initialDelay?=?3000)

???public?void?fixedDelaySch()?{

??????SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss.SSS");

??????Date?now?=?new?Date();

??????String?strDate?=?sdf.format(now);

??????System.out.println("Fixed?Delay?scheduler::?"?+?strDate);

???}

}

? ?下面看到的截屏顯示的是應(yīng)用在?09:18:39 啟動(dòng)完成 3 秒后,固定延遲調(diào)度器任務(wù)每秒執(zhí)行一次的情況。



Spring Boot 教程:調(diào)度的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
齐齐哈尔市| 台北县| 洱源县| 漯河市| 甘洛县| 灯塔市| 房产| 浪卡子县| 玉树县| 剑川县| 库伦旗| 临夏县| 东方市| 屏南县| 黎城县| 峨眉山市| 宁都县| 通榆县| 景泰县| 北流市| 即墨市| 扎鲁特旗| 大关县| 龙游县| 靖远县| 科尔| 正定县| 延津县| 彰化市| 九江市| 健康| 罗源县| 建水县| 依安县| 海兴县| 长葛市| 镇巴县| 平顺县| 嵊泗县| 京山县| 会泽县|