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

資訊專欄INFORMATION COLUMN

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

awokezhou / 1743人閱讀

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

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

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

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

關(guān)注之后進(jìn)入我的測試號點擊定時提醒則進(jìn)入本系統(tǒng)

既然是使用SpringCloud,那么肯定是要把一個項目分為幾個模塊來運行啦

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

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

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

quartz定時提醒服務(wù)

用戶消費者服務(wù)

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

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

Eureka Server我就不說了,簡單的配置一下就可以直接運用了。

quartz定時提醒呢,就需要quartz這個第三方的庫

        
            org.quartz-scheduler
            quartz
            2.3.0
        

而且還需要一些spring的依賴

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

編寫一個Job接口實現(xiàn)類

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

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

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

創(chuàng)建任務(wù)(截取自己寫的工具類中的部分內(nèi)容并加以修改),可以自己寫個工具類,以后方便自己調(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í)行時間為:{}",format.format(scheduler.scheduleJob(jobDetail,cronTrigger)));

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

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

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

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

這個就是quartz模塊的部分介紹了。

接下來是用戶消費者模塊,調(diào)用quartz的服務(wù),通過Feign進(jìn)行調(diào)用,比較坑的事情是,F(xiàn)eign的方法參數(shù),只能傳遞一個對象參數(shù)和多個參數(shù),不能同時傳遞兩個對象參數(shù),而且傳遞對象參數(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)沒有集群~)

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


            com.github.binarywang
            weixin-java-mp
            2.8.0
        

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

項目效果演示

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

    摘要:添加任務(wù)成功運行任務(wù)名稱添加定時任務(wù)服務(wù)定時任務(wù)服務(wù)。觸發(fā)器計劃列表添加測試任務(wù)類測試任務(wù)類被任務(wù)調(diào)度后執(zhí)行該任務(wù)類。聲明一個靜態(tài)變量保存添加啟動類簡單微服務(wù),不支持分布式。 SpringCloud(第 009 篇)簡單 Quartz 微服務(wù),不支持分布式 - 一、大致介紹 1、本章節(jié)僅僅只是為了測試 Quartz 在微服務(wù)中的使用情況; 2、其實若只是簡單的實現(xiàn)任務(wù)調(diào)用而言的話,Sp...

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

    摘要:加載配置文件失敗加載配置文件失敗添加定時調(diào)度任務(wù)定時調(diào)度任務(wù)添加定時調(diào)度任務(wù)定時調(diào)度任務(wù)執(zhí)行的張表入數(shù)據(jù)庫添加啟動類簡單微服務(wù),采用注解配置分布式集群。 SpringCloud(第 054 篇)簡單 Quartz-Cluster 微服務(wù),采用注解配置 Quartz 分布式集群 - 一、大致介紹 1、因網(wǎng)友提到有沒有采用注解式配置的Quartz例子,因此本人就貼上了這樣一個樣例; 2、至...

    isLishude 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<