国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot定時(shí)任務(wù):同時(shí)使用定時(shí)任務(wù)和websocket報(bào)錯(cuò)

這篇具有很好參考價(jià)值的文章主要介紹了springboot定時(shí)任務(wù):同時(shí)使用定時(shí)任務(wù)和websocket報(bào)錯(cuò)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景

項(xiàng)目使用了websocket,實(shí)現(xiàn)了消息的實(shí)時(shí)推送。后來(lái)項(xiàng)目需要一個(gè)定時(shí)任務(wù),使用org.springframework.scheduling.annotation的@EnableScheduling注解來(lái)實(shí)現(xiàn),啟動(dòng)項(xiàng)目之后報(bào)錯(cuò)

Bean 'com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration' of type [com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Destroy method 'close' on bean with name 'nacosServiceRegistry' threw an exception: java.lang.NullPointerException

打斷點(diǎn)進(jìn)入代碼發(fā)現(xiàn)是這個(gè)定時(shí)任務(wù)的bean為null

學(xué)習(xí)

由于先寫(xiě)的websocket推送消息,運(yùn)行正常。之前一個(gè)項(xiàng)目只有一個(gè)定時(shí)任務(wù)(沒(méi)有websocket)也是運(yùn)行正常。綜合網(wǎng)友的分析winky_L,是因?yàn)橥瑫r(shí)使用定時(shí)任務(wù)和websocket沖突導(dǎo)致

其他的一些學(xué)習(xí)kzcming
菜菜菜雞

解決

1在啟動(dòng)類(lèi)Application中加入task的initialize?!咀⒁猓喝绻^續(xù)報(bào)錯(cuò),報(bào)錯(cuò)信息如下。報(bào)錯(cuò)信息解讀:發(fā)現(xiàn)兩個(gè)定時(shí)任務(wù)的bean,不知道使用哪一個(gè),springboot報(bào)錯(cuò),這時(shí)候在 taskScheduler方法中加上@Primary注解,告訴springboot使用這個(gè)自定義的定時(shí)任務(wù)】


Method nacosWatch in com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientConfiguration required a single bean, but 2 were found:
	- taskScheduler: defined by method 'taskScheduler' in class path resource []
	- defaultSockJsTaskScheduler: defined by method 'defaultSockJsTaskScheduler' in class path resource [org/springframework/web/socket/config/annotation/DelegatingWebSocketConfiguration.class]

springboot定時(shí)任務(wù):同時(shí)使用定時(shí)任務(wù)和websocket報(bào)錯(cuò),java-解決問(wèn)題,java,spring微服務(wù),spring boot,websocket,后端
具體代碼【】

    @Primary
    @Bean
    public TaskScheduler taskScheduler(){
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        //只有池子里的任務(wù)有執(zhí)行結(jié)束后,池子之外的任務(wù)才有機(jī)會(huì)被加入執(zhí)行。
        // 更糟的情況是,當(dāng)池子里的任務(wù)都在因?yàn)楫惓;驑I(yè)務(wù)要求(比如出錯(cuò)無(wú)限重試)而導(dǎo)致池子永遠(yuǎn)無(wú)法得到釋放,將導(dǎo)致固定值之外的任務(wù)永遠(yuǎn)不會(huì)被執(zhí)行!
        //taskScheduler.setPoolSize允許動(dòng)態(tài)設(shè)置池子的大小,可動(dòng)態(tài)設(shè)置-> todo 有隱患
        taskScheduler.setPoolSize(10);
        taskScheduler.initialize();
        return taskScheduler;
    }

求解

問(wèn)題1
剛開(kāi)始在config類(lèi)中添加該TaskScheduler 仍然啟動(dòng)不了,然后我放在啟動(dòng)類(lèi)Application中就能啟動(dòng)成果。不知道這其中的原由
springboot定時(shí)任務(wù):同時(shí)使用定時(shí)任務(wù)和websocket報(bào)錯(cuò),java-解決問(wèn)題,java,spring微服務(wù),spring boot,websocket,后端
問(wèn)題2
代碼中和的這個(gè)線程池初始定義了poolsize,但是這里有隱患。
只有池子里的任務(wù)有執(zhí)行結(jié)束后,池子之外的任務(wù)才有機(jī)會(huì)被加入執(zhí)行。
更糟的情況是,當(dāng)池子里的任務(wù)都在因?yàn)楫惓;驑I(yè)務(wù)要求(比如出錯(cuò)無(wú)限重試)而導(dǎo)致池子永遠(yuǎn)無(wú)法得到釋放,將導(dǎo)致固定值之外的任務(wù)永遠(yuǎn)不會(huì)被執(zhí)行!taskScheduler.setPoolSize允許動(dòng)態(tài)設(shè)置池子的大小,可動(dòng)態(tài)設(shè)置??戳艘黄恼?,但是還沒(méi)有頭緒daydayup文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-672509.html

taskScheduler.setPoolSize(10);
        taskScheduler.initialize();

到了這里,關(guān)于springboot定時(shí)任務(wù):同時(shí)使用定時(shí)任務(wù)和websocket報(bào)錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端訂閱后端推送WebSocket定時(shí)任務(wù)

    前端訂閱后端推送WebSocket定時(shí)任務(wù)

    ? ? ? ? 后端定時(shí)向前端看板推送數(shù)據(jù),每10秒或者30秒推送一次。 ????????HTTP協(xié)議是一個(gè)應(yīng)用層協(xié)議,它的特點(diǎn)是無(wú)狀態(tài)、無(wú)連接和單向的。在HTTP協(xié)議中,客戶端發(fā)起請(qǐng)求,服務(wù)器則對(duì)請(qǐng)求進(jìn)行響應(yīng)。這種請(qǐng)求-響應(yīng)的模式意味著服務(wù)器無(wú)法主動(dòng)向客戶端發(fā)送消息。 ??

    2024年04月25日
    瀏覽(20)
  • 蒼穹外賣(mài)項(xiàng)目解讀(四) 微信小程序支付、定時(shí)任務(wù)、WebSocket

    蒼穹外賣(mài)項(xiàng)目解讀(四) 微信小程序支付、定時(shí)任務(wù)、WebSocket

    HM新出springboot入門(mén)項(xiàng)目《蒼穹外賣(mài)》,筆者打算寫(xiě)一個(gè)系列學(xué)習(xí)筆記,“蒼穹外賣(mài)項(xiàng)目解讀”,內(nèi)容主要從HM課程,自己實(shí)踐,以及踩坑填坑出發(fā),以技術(shù),經(jīng)驗(yàn)為主,記錄學(xué)習(xí),也希望能給在學(xué)想學(xué)的小伙伴一個(gè)參考。 注:本文章是直接拿到項(xiàng)目的最終代碼,然后從代碼出發(fā)

    2024年02月07日
    瀏覽(22)
  • java中定時(shí)任務(wù) schedule 分布式下沒(méi)有鎖住 時(shí)間不同步 執(zhí)行滯后 相對(duì)時(shí)間 系統(tǒng)時(shí)間 spring springboot

    java.util.Timer計(jì)時(shí)器可以進(jìn)行:管理任務(wù)延遲執(zhí)行(“如1000ms后執(zhí)行任務(wù)”),及周期性執(zhí)行(“如每500ms執(zhí)行一次該任務(wù)”)。 但是,Timer存在一些缺陷,應(yīng)考慮使用ScheduledThreadPoolExecutor代替,Timer對(duì)調(diào)度的支持是基于絕對(duì)時(shí)間,而不是相對(duì)時(shí)間的,由此任務(wù)對(duì)系統(tǒng)時(shí)鐘的改變是敏感

    2024年02月10日
    瀏覽(27)
  • Spring Task 實(shí)現(xiàn)定時(shí)任務(wù) 以及 WebSocket 實(shí)現(xiàn) 訂單提醒 (學(xué)習(xí)筆記)

    1.maven坐標(biāo) spring-context 2.啟動(dòng)類(lèi)添加注解 @EnableScheduling 開(kāi)啟任務(wù)調(diào)度 3.自定義定時(shí)任務(wù)類(lèi) 去設(shè)置網(wǎng)站設(shè)置要 進(jìn)行得定時(shí)任務(wù) cron表達(dá)式在線生成器:https://cron.qqe2.com/ 1.導(dǎo)入maven坐標(biāo) 2.導(dǎo)入websocket組件 3.設(shè)置配置類(lèi) 4.導(dǎo)入代碼 前端測(cè)試代碼

    2024年02月20日
    瀏覽(26)
  • springboot 與異步任務(wù),定時(shí)任務(wù),郵件任務(wù)

    springboot 與異步任務(wù),定時(shí)任務(wù),郵件任務(wù)

    在Java應(yīng)用中,絕大多數(shù)情況下都是通過(guò)同步的方式來(lái)實(shí)現(xiàn)交互處理的;但是在處理與第三方系統(tǒng)交互的時(shí)候,容易造成響應(yīng)遲緩的情況,之前大部分都是使用多線程來(lái)完成此類(lèi)任務(wù),其實(shí),在Spring 3.x之后,就已經(jīng)內(nèi)置了@Async來(lái)完美解決這個(gè)問(wèn)題。 SpringBoot 實(shí)現(xiàn)比較簡(jiǎn)單 主啟

    2024年02月10日
    瀏覽(27)
  • 【springboot】springboot定時(shí)任務(wù):

    【springboot】springboot定時(shí)任務(wù):

    一、文檔: 【cron表達(dá)式在線生成器】https://cron.qqe2.com/ 二、案例:

    2024年02月11日
    瀏覽(21)
  • SpringBoot項(xiàng)目整合WebSocket+netty實(shí)現(xiàn)前后端雙向通信(同時(shí)支持前端webSocket和socket協(xié)議哦)

    SpringBoot項(xiàng)目整合WebSocket+netty實(shí)現(xiàn)前后端雙向通信(同時(shí)支持前端webSocket和socket協(xié)議哦)

    目錄 ? 前言 技術(shù)棧 功能展示 一、springboot項(xiàng)目添加netty依賴 二、netty服務(wù)端 三、netty客戶端 四、測(cè)試 五、代碼倉(cāng)庫(kù)地址 ??專屬小彩蛋:前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站(前言 - 床長(zhǎng)人工智能教程

    2024年02月12日
    瀏覽(18)
  • SpringBoot整合Websocket(Java websocket怎么使用)

    SpringBoot整合Websocket(Java websocket怎么使用)

    WebSocket 是一種基于 TCP 協(xié)議的全雙工通信協(xié)議,可以在瀏覽器和服務(wù)器之間建立 實(shí)時(shí)、雙向的數(shù)據(jù)通信 ??梢杂糜谠诰€聊天、在線游戲、實(shí)時(shí)數(shù)據(jù)展示等場(chǎng)景。與傳統(tǒng)的 HTTP 協(xié)議不同,WebSocket 可以保持 長(zhǎng)連接 ,實(shí)時(shí)傳輸數(shù)據(jù),避免了頻繁的 HTTP 請(qǐng)求和響應(yīng),節(jié)省了網(wǎng)絡(luò)帶

    2024年02月10日
    瀏覽(19)
  • springboot---定時(shí)任務(wù)實(shí)現(xiàn)

    springboot---定時(shí)任務(wù)實(shí)現(xiàn)

    任意類(lèi)中創(chuàng)建一個(gè)方法,將該方法用@scheduled注解修飾,然后在項(xiàng)目的主方法上添加@EnableScheduling注解,定時(shí)任務(wù)就會(huì)生效。 但是需要注意的是定時(shí)任務(wù)不會(huì)一開(kāi)始就執(zhí)行,會(huì)等待設(shè)定的時(shí)間 1.2.1. cron cron表達(dá)式是一個(gè)字符串,字符串以5或6個(gè)空格隔開(kāi),分開(kāi)共6或7個(gè)域,每一個(gè)

    2024年02月11日
    瀏覽(19)
  • springboot:定時(shí)任務(wù)

    springboot:定時(shí)任務(wù)

    目錄 一、實(shí)現(xiàn)定時(shí)任務(wù)的方法一:基于JDK 方法一:使用JDK自帶的Timer類(lèi) 法二:使用ScheduleExecutorsService類(lèi) 二、基于Spring Task實(shí)現(xiàn)定時(shí)任務(wù)(推薦使用) ?三、基于Quartz實(shí)現(xiàn)定時(shí)調(diào)度 四、使用分布式定時(shí)任務(wù)框架:elastic-job 五、分布式任務(wù)調(diào)度:國(guó)產(chǎn)組件XXL-Job 定時(shí)任務(wù)在項(xiàng)目中的

    2024年02月16日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包