国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringCloud+quartz 定時(shí)提醒系統(tǒng)

SQC / 2629人閱讀

摘要:定時(shí)提醒系統(tǒng)之前通過(guò)做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)編寫(xiě)了個(gè)升級(jí)版,功能和之前的差不多,現(xiàn)在來(lái)看看吧。將參數(shù)傳遞到類中創(chuàng)建事件成功,執(zhí)行時(shí)間為創(chuàng)建時(shí)間后想要修改的話就需要這么寫(xiě)在實(shí)現(xiàn)類里面注入不了那么可以這么做這個(gè)就是模塊的部分介紹了。

SpringCloud+quartz 定時(shí)提醒系統(tǒng)

之前通過(guò)Springboot做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)SpringCloud編寫(xiě)了個(gè)升級(jí)版,功能和之前的差不多,現(xiàn)在來(lái)看看吧。

首先需要先關(guān)注我的測(cè)試號(hào)啦,本系統(tǒng)通過(guò)微信測(cè)試號(hào)第三方授權(quán)登錄,掃描下方二維碼即可關(guān)注

關(guān)注之后進(jìn)入我的測(cè)試號(hào)點(diǎn)擊定時(shí)提醒則進(jìn)入本系統(tǒng)

既然是使用SpringCloud,那么肯定是要把一個(gè)項(xiàng)目分為幾個(gè)模塊來(lái)運(yùn)行啦

本人還是學(xué)生,云服務(wù)器只有一臺(tái),所以就把這四個(gè)模塊放在同一臺(tái)服務(wù)器了,勿怪勿怪~

系統(tǒng)分為四個(gè)模塊

Eureka Server 服務(wù)注冊(cè)中心

quartz定時(shí)提醒服務(wù)

用戶消費(fèi)者服務(wù)

微信測(cè)試號(hào)第三方授權(quán)以及發(fā)送模板消息服務(wù)

注:本系統(tǒng)沒(méi)有運(yùn)用zuul網(wǎng)關(guān)

Eureka Server我就不說(shuō)了,簡(jiǎn)單的配置一下就可以直接運(yùn)用了。

quartz定時(shí)提醒呢,就需要quartz這個(gè)第三方的庫(kù)

        
            org.quartz-scheduler
            quartz
            2.3.0
        

而且還需要一些spring的依賴

quartz有簡(jiǎn)單任務(wù)觸發(fā)和復(fù)雜任務(wù)觸發(fā),本系統(tǒng)使用的是cron復(fù)雜任務(wù)觸發(fā)器定制任務(wù)調(diào)度

編寫(xiě)一個(gè)Job接口實(shí)現(xiàn)類

實(shí)現(xiàn)里面的execute方法,該方法是在任務(wù)觸發(fā)時(shí)執(zhí)行,在方法里面寫(xiě)上你要執(zhí)行的東西。

之后配置scheduler,項(xiàng)目啟動(dòng)的時(shí)候創(chuàng)建bean

@Configuration
public class QuartzConfigration {
    /**
     * attention:
     * Details:定義quartz調(diào)度工廠
     */
    @Bean(name = "scheduler")
    public SchedulerFactoryBean schedulerFactory() {
        SchedulerFactoryBean bean = new SchedulerFactoryBean();
        // 用于quartz集群,QuartzScheduler 啟動(dòng)時(shí)更新己存在的Job
        bean.setOverwriteExistingJobs(true);
        // 延時(shí)啟動(dòng),應(yīng)用啟動(dòng)1秒后
//        bean.setStartupDelay(5);
        // 注冊(cè)觸發(fā)器
//        bean.setTriggers(jobTrigger);
        return bean;
    }
}

創(chuàng)建任務(wù)(截取自己寫(xiě)的工具類中的部分內(nèi)容并加以修改),可以自己寫(xiě)個(gè)工具類,以后方便自己調(diào)用。

 String event= (String) map.get("eventId");
        String date= (String) map.get("date");
        JobDataMap jobDataMap=new JobDataMap();
        jobDataMap.put("eventId",event);  //將參數(shù)傳遞到Job類中
        jobDataMap.put("date",date);
        JobDetail jobDetail= JobBuilder
                .newJob(MyBean.class)
                .withIdentity(key,"group1")
                .usingJobData(jobDataMap)
                .build();
        CronTrigger cronTrigger = TriggerBuilder.newTrigger()
                .withIdentity(key, "group1")
                .withSchedule(CronScheduleBuilder.cronSchedule(cron))
                .build();
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        log.info("創(chuàng)建事件成功,執(zhí)行時(shí)間為:{}",format.format(scheduler.scheduleJob(jobDetail,cronTrigger)));

創(chuàng)建時(shí)間后想要修改的話就需要這么寫(xiě)

 TriggerKey triggerKey=new TriggerKey(eventId,"group1");
        CronTriggerImpl cronTrigger= (CronTriggerImpl) scheduler.getTrigger(triggerKey);
        cronTrigger.setCronExpression(cron);
        scheduler.rescheduleJob(triggerKey,cronTrigger);

在Job實(shí)現(xiàn)類里面注入不了Service,那么可以這么做

ConfigurableApplicationContext run = SpringApplication.run(SpringcloudQuartzApplication.class, args);
        EventService eventService = run.getBean(EventService.class);
        MyBean.eventService=eventService;

這個(gè)就是quartz模塊的部分介紹了。

接下來(lái)是用戶消費(fèi)者模塊,調(diào)用quartz的服務(wù),通過(guò)Feign進(jìn)行調(diào)用,比較坑的事情是,F(xiàn)eign的方法參數(shù),只能傳遞一個(gè)對(duì)象參數(shù)和多個(gè)參數(shù),不能同時(shí)傳遞兩個(gè)對(duì)象參數(shù),而且傳遞對(duì)象參數(shù)還需要在前面加上注解

 @PostMapping("/update")
    public ResultVO update(@RequestBody(required = false)EventForm eventForm,
                           @RequestParam(name = "id") String id);

Feign中默認(rèn)使用Ribbon進(jìn)行負(fù)載均衡(雖然本系統(tǒng)沒(méi)有集群~)

微信第三方授權(quán)和發(fā)送模板消息就不多說(shuō)了,就是使用第三方的庫(kù)進(jìn)行編寫(xiě)


            com.github.binarywang
            weixin-java-mp
            2.8.0
        

微信第三方授權(quán)的github也貼出來(lái),可以自行去看API,點(diǎn)擊這里進(jìn)入github

項(xiàng)目效果演示

好了,介紹就到這里啦~
有什么問(wèn)題就發(fā)我郵箱提問(wèn)吧
13427434344@163.com

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/112822.html

相關(guān)文章

  • SpringCloud+quartz 定時(shí)提醒系統(tǒng)

    摘要:定時(shí)提醒系統(tǒng)之前通過(guò)做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)編寫(xiě)了個(gè)升級(jí)版,功能和之前的差不多,現(xiàn)在來(lái)看看吧。將參數(shù)傳遞到類中創(chuàng)建事件成功,執(zhí)行時(shí)間為創(chuàng)建時(shí)間后想要修改的話就需要這么寫(xiě)在實(shí)現(xiàn)類里面注入不了那么可以這么做這個(gè)就是模塊的部分介紹了。 SpringCloud+quartz 定時(shí)提醒系統(tǒng) 之前通過(guò)Springboot做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)SpringCloud編寫(xiě)了個(gè)升級(jí)版,...

    awokezhou 評(píng)論0 收藏0
  • SpringCloud+quartz 定時(shí)提醒系統(tǒng)

    摘要:定時(shí)提醒系統(tǒng)之前通過(guò)做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)編寫(xiě)了個(gè)升級(jí)版,功能和之前的差不多,現(xiàn)在來(lái)看看吧。將參數(shù)傳遞到類中創(chuàng)建事件成功,執(zhí)行時(shí)間為創(chuàng)建時(shí)間后想要修改的話就需要這么寫(xiě)在實(shí)現(xiàn)類里面注入不了那么可以這么做這個(gè)就是模塊的部分介紹了。 SpringCloud+quartz 定時(shí)提醒系統(tǒng) 之前通過(guò)Springboot做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)SpringCloud編寫(xiě)了個(gè)升級(jí)版,...

    linkin 評(píng)論0 收藏0
  • SpringCloud+quartz 定時(shí)提醒系統(tǒng)

    摘要:定時(shí)提醒系統(tǒng)之前通過(guò)做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)編寫(xiě)了個(gè)升級(jí)版,功能和之前的差不多,現(xiàn)在來(lái)看看吧。將參數(shù)傳遞到類中創(chuàng)建事件成功,執(zhí)行時(shí)間為創(chuàng)建時(shí)間后想要修改的話就需要這么寫(xiě)在實(shí)現(xiàn)類里面注入不了那么可以這么做這個(gè)就是模塊的部分介紹了。 SpringCloud+quartz 定時(shí)提醒系統(tǒng) 之前通過(guò)Springboot做了一個(gè)定時(shí)查詢系統(tǒng),前幾天通過(guò)SpringCloud編寫(xiě)了個(gè)升級(jí)版,...

    fjcgreat 評(píng)論0 收藏0
  • SpringCloud(第 009 篇)簡(jiǎn)單 Quartz 微服務(wù),不支持分布式

    摘要:添加任務(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...

    awkj 評(píng)論0 收藏0
  • SpringCloud(第 054 篇)簡(jiǎn)單 Quartz-Cluster 微服務(wù),采用注解配置 Q

    摘要:加載配置文件失敗加載配置文件失敗添加定時(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、至...

    isLishude 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<