摘要:當(dāng)前時(shí)間打印當(dāng)前時(shí)間定時(shí)任務(wù)觸發(fā),操作多個(gè)添加數(shù)據(jù),事務(wù)中任一異常,都可以正常導(dǎo)致數(shù)據(jù)回滾。當(dāng)前時(shí)間當(dāng)前時(shí)間添加微服務(wù)啟動(dòng)類注解式配置定時(shí)任務(wù),不支持任務(wù)調(diào)度。
SpringCloud(第 046 篇)注解式Schedule配置定時(shí)任務(wù),不支持任務(wù)調(diào)度
-
一、大致介紹1、很多時(shí)候我們需要隔一定的時(shí)間去執(zhí)行某個(gè)任務(wù),為了實(shí)現(xiàn)這樣的需求通常最普通的方式就是利用多線程來(lái)實(shí)現(xiàn); 2、但是有時(shí)候這個(gè)任務(wù)還真得去處理一些非常復(fù)雜非常耗時(shí)的動(dòng)作,那么在SpringCloud生態(tài)圈中,Scheduled不失為一種好的解決方案; 3、不過(guò)我們這里介紹的Scheduled如果部署在多臺(tái)服務(wù)的話,那么每臺(tái)都會(huì)執(zhí)行,不支持任務(wù)調(diào)度; 4、若要支持任務(wù)調(diào)度的話,請(qǐng)回頭查看(第 010 篇)簡(jiǎn)單 Quartz-Cluster 微服務(wù),支持集群任務(wù)調(diào)度;二、實(shí)現(xiàn)步驟 2.1 添加 maven 引用包
2.2 添加應(yīng)用配置文件(springms-schedulesrcmainresourcesapplication.yml)4.0.0 springms-schedule 1.0-SNAPSHOT jar com.springms.cloud springms-spring-cloud 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web mysql mysql-connector-java
server: port: 8340 spring: application: name: springms-schedule #全部小寫(xiě)2.3 添加定時(shí)任務(wù)類(springms-schedulesrcmainjavacomspringmscloudtaskScheduledTasks.java)
package com.springms.cloud.task; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; /** * 定時(shí)任務(wù)類。 * * @author hmilyylimh * * @version 0.0.1 * * @date 2017/10/19 * */ @Component public class ScheduledTasks { private static final org.slf4j.Logger Logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 1000) public void reportCurrentTime() { System.out.println("當(dāng)前時(shí)間: " + dateFormat.format(new Date())); Logger.info("打印當(dāng)前時(shí)間: {}.", dateFormat.format(new Date())); } /** * 定時(shí)任務(wù)觸發(fā),操作多個(gè)DAO添加數(shù)據(jù),事務(wù)中任一異常,都可以正常導(dǎo)致數(shù)據(jù)回滾。 */ @Scheduled(fixedRate = 5000) public void addMovieJob() { System.out.println("當(dāng)前時(shí)間: " + dateFormat.format(new Date())); Logger.info("當(dāng)前時(shí)間: {}.", dateFormat.format(new Date())); } }2.4 添加微服務(wù)啟動(dòng)類(springms-schedulesrcmainjavacomspringmscloudMsScheduleApplication.java)
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; /** * 注解式Schedule配置定時(shí)任務(wù),不支持任務(wù)調(diào)度。 * * @author hmilyylimh * * @version 0.0.1 * * @date 2017/10/19 * */ @SpringBootApplication @EnableScheduling public class MsScheduleApplication { public static void main(String[] args) { SpringApplication.run(MsScheduleApplication.class, args); System.out.println("【【【【【【 Schedule定時(shí)任務(wù)微服務(wù) 】】】】】】已啟動(dòng)."); } }三、測(cè)試
/**************************************************************************************** 一、用戶微服務(wù)接口測(cè)試: 1、注解:EnableEurekaClient 2、啟動(dòng) springms-discovery-eureka 模塊服務(wù),啟動(dòng)1個(gè)端口; 3、啟動(dòng) springms-provider-user 模塊服務(wù),啟動(dòng)1個(gè)端口; 4、在瀏覽器輸入地址http://localhost:7900/simple/1 可以看到信息成功的被打印出來(lái),說(shuō)明用戶微服務(wù)正常; 5、在瀏覽器輸入地址 http://localhost:8761 并輸入用戶名密碼 admin/admin 進(jìn)入Eureka微服務(wù)顯示在網(wǎng)頁(yè)中,說(shuō)明用戶微服務(wù)確實(shí)注冊(cè)到了 eureka 服務(wù)中; 6、在瀏覽器輸入地址 http://localhost:8761/eureka/apps/springms-provider-user 可以看到自定義的四、下載地址信息以及用戶微服務(wù)的相關(guān)信息成功的被展示出來(lái)了; ****************************************************************************************/
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關(guān)注,您的肯定是對(duì)我最大的支持!!!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/67836.html
摘要:添加任務(wù)成功運(yùn)行任務(wù)名稱添加定時(shí)任務(wù)服務(wù)定時(shí)任務(wù)服務(wù)。觸發(fā)器計(jì)劃列表添加測(cè)試任務(wù)類測(cè)試任務(wù)類被任務(wù)調(diào)度后執(zhí)行該任務(wù)類。聲明一個(gè)靜態(tài)變量保存添加啟動(dòng)類簡(jiǎn)單微服務(wù),不支持分布式。 SpringCloud(第 009 篇)簡(jiǎn)單 Quartz 微服務(wù),不支持分布式 - 一、大致介紹 1、本章節(jié)僅僅只是為了測(cè)試 Quartz 在微服務(wù)中的使用情況; 2、其實(shí)若只是簡(jiǎn)單的實(shí)現(xiàn)任務(wù)調(diào)用而言的話,Sp...
摘要:通過(guò)再添加其他的元素可在中放置多個(gè)觸發(fā)器。停止觸發(fā)器重啟觸發(fā)器停止觸發(fā)器移除觸發(fā)器添加調(diào)度的任務(wù)類調(diào)度的任務(wù)。執(zhí)行的張表入數(shù)據(jù)庫(kù)添加啟動(dòng)類簡(jiǎn)單微服務(wù),支持集群分布式,并支持動(dòng)態(tài)修改任務(wù)的執(zhí)行時(shí)間。 SpringCloud(第 010 篇)簡(jiǎn)單 Quartz-Cluster 微服務(wù),支持集群分布式,并支持動(dòng)態(tài)修改 Quartz 任務(wù)的 cronExpression 執(zhí)行時(shí)間 - 一、大致...
摘要:于是我們繼續(xù)斷點(diǎn)往下走,發(fā)現(xiàn)對(duì)象里面只有一個(gè)類名路徑為。進(jìn)入看看,這個(gè)配置類有哪些重要的方法。。。分析一果不其然,方法被調(diào)用了,緊接著也進(jìn)入斷點(diǎn),然后在往下走,又進(jìn)入的方法中的回調(diào)處。 SpringCloud(第 050 篇)Netflix Eureka 源碼深入剖析(下) - 一、大致介紹 1、鑒于一些朋友的提問(wèn)并提議講解下eureka的源碼分析,由此應(yīng)運(yùn)而產(chǎn)生的本章節(jié)的內(nèi)容; 2、...
摘要:加載配置文件失敗加載配置文件失敗添加定時(shí)調(diào)度任務(wù)定時(shí)調(diào)度任務(wù)添加定時(shí)調(diào)度任務(wù)定時(shí)調(diào)度任務(wù)執(zhí)行的張表入數(shù)據(jù)庫(kù)添加啟動(dòng)類簡(jiǎn)單微服務(wù),采用注解配置分布式集群。 SpringCloud(第 054 篇)簡(jiǎn)單 Quartz-Cluster 微服務(wù),采用注解配置 Quartz 分布式集群 - 一、大致介紹 1、因網(wǎng)友提到有沒(méi)有采用注解式配置的Quartz例子,因此本人就貼上了這樣一個(gè)樣例; 2、至...
閱讀 2949·2021-10-28 09:32
閱讀 2980·2021-10-11 10:57
閱讀 3125·2021-10-08 10:05
閱讀 2606·2021-09-28 09:36
閱讀 2221·2019-08-30 15:55
閱讀 2276·2019-08-30 15:44
閱讀 2401·2019-08-30 14:02
閱讀 3082·2019-08-29 17:16