真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題

這篇文章主要講解了“springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題”吧!

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)岱岳免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

springboot部署多個相同服務(wù)deploy,當(dāng)服務(wù)中有定時器時,一旦定時器觸發(fā)時服務(wù)會同時執(zhí)行,從而產(chǎn)生并發(fā)問題。解決方案:

1.在定時器類添加@Profile 注解 指定實(shí)例執(zhí)行定時器。

@Component
@Configuration
@EnableScheduling   // 1.開啟定時任務(wù)
@Profile("deploy01")
public class ScheduleTaskService {

....
}

它操作簡單,靈活。只需要添加@Profile注解,但它的局限性也很明顯,只有指定服務(wù)為deploy01時才會加載定時器處理類,一旦deploy01 掛掉或者未啟動就無法執(zhí)行。所以并不能達(dá)到高可用。

2.利用redis 緩存機(jī)制

   @Scheduled(cron = "0 0 0/1 * * ? ")  //每1小時執(zhí)行一次
    public void insertPriRecoverCall() throws InterruptedException {
        String deployKey="deployName";
        redisService.set(deployKey,deployId,1,TimeUnit.HOURS);
        Object o = redisService.get(deployKey);
        if (o!=null){
            String deployName = o.toString();
            if (deployId.equals(deployName)){
                logger.info(deployName+" is running .....");
                ////業(yè)務(wù)代碼  
          }
        }
    }

先獲取服務(wù)實(shí)例Id,緩存到redis中。redis 是key-value 鍵值對的緩存機(jī)制。在相同key下只會保留一個deployId ,再取出緩存中deployId和服務(wù)實(shí)例id 比較。相同就繼續(xù)執(zhí)行業(yè)務(wù)代碼,不同則直接過濾。這樣既可以防止并發(fā)問題,又可以實(shí)現(xiàn)高可用。

感謝各位的閱讀,以上就是“springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


新聞標(biāo)題:springboot怎么解決多個deploy執(zhí)行schedule定時器導(dǎo)致并發(fā)問題
URL分享:http://weahome.cn/article/jhdoop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部