最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決SpringBoot定時任務報錯Unexpected error occurred in scheduled task問題

 更新時間:2024年08月02日 09:04:22   作者:棲遲于一丘  
這篇文章主要介紹了如何解決SpringBoot定時任務報錯Unexpected error occurred in scheduled task問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題

spring boot項目在線上一直正常運行沒有錯誤,然后今天發(fā)生了報錯,如圖

這是一個定時器錯誤,發(fā)生這個報錯

主要有兩個原因

  • 定時器編寫的有錯誤
  • @Scheduled注解方式級別高于資源注入級別,導致了資源注入失敗

以下是我的代碼

@RestController
@Slf4j
@SuppressWarnings({"all"})
@CrossOrigin
@RequestMapping("/journal")
@Component
public class JournalController {

	@Autowired
    Journal_timeMapper journal_timeMapper;
    
       /**
     * 每周日將簽到時間數(shù)據(jù)清空
     */
    @Scheduled(cron = "0 0 0 * * SUN")
    public void journaltimeout() {
        List<Journal_time> journal_times = journal_timeMapper.selectList(null);
        for (Journal_time journal_time : journal_times) {
            journal_time.setDay_time("0小時0分鐘");
            journal_time.setWeek_time("0小時0分鐘");
            journal_time.setAll_time("0小時0分鐘");
            journal_time.setWeek_time_desc("第0名");
            journal_timeMapper.updateById(journal_time);
        }
    }


    /**
     * 每天晚上將一天簽到數(shù)據(jù)清空
     */
    @Scheduled(cron = "0 0 0 * * ?")
    public void daytimeout() {
        List<Journal_time> journal_times = journal_timeMapper.selectList(null);
        for (Journal_time journal_time : journal_times) {
            journal_time.setDay_time("0小時0分鐘");
            journal_timeMapper.updateById(journal_time);
        }
    }
}

有一個特別奇怪的點,就是我的daytimeout方法一直在生效,但是journaltimeout卻報錯了,

這都是在一個Controller下面(我直接暈厥)–目前還沒有找到原因,先說解決方法

解決方法

使用ApplicationContextAware,它實現(xiàn)了這個接口的bean,當spring容器初始化的時候,會自動的將ApplicationContext注入進來

修改后的代碼

@RestController
@Slf4j
@SuppressWarnings({"all"})
@CrossOrigin
@RequestMapping("/journal")
@Component
public class JournalController implements ApplicationContextAware {

  	private static ApplicationContext context;

  	@Override
  	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException 	{
        context = applicationContext;
   	}
    
    public static ApplicationContext getApplicationContext() {
        return context;
    }

    public static Object getBean(String name) {
        return getApplicationContext().getBean(name);
    }

    
    
       /**
     * 每周日將簽到時間數(shù)據(jù)清空
     */
    @Scheduled(cron = "0 0 0 * * SUN")
    public void journaltimeout() {
        Journal_timeMapper journal_timeMapper = (Journal_timeMapper)this.getBean("journal_timeMapper");
        List<Journal_time> journal_times = journal_timeMapper.selectList(null);
        for (Journal_time journal_time : journal_times) {
            journal_time.setDay_time("0小時0分鐘");
            journal_time.setWeek_time("0小時0分鐘");
            journal_time.setAll_time("0小時0分鐘");
            journal_time.setWeek_time_desc("第0名");
            journal_timeMapper.updateById(journal_time);
        }
    }


    /**
     * 每天晚上將一天簽到數(shù)據(jù)清空
     */
    @Scheduled(cron = "0 0 0 * * ?")
    public void daytimeout() {
        Journal_timeMapper journal_timeMapper = (Journal_timeMapper)this.getBean("journal_timeMapper");
        List<Journal_time> journal_times = journal_timeMapper.selectList(null);
        for (Journal_time journal_time : journal_times) {
            journal_time.setDay_time("0小時0分鐘");
            journal_timeMapper.updateById(journal_time);
        }
    }
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • JAVA和C#的語法特性及優(yōu)缺點對比

    JAVA和C#的語法特性及優(yōu)缺點對比

    Java和C#是當今流行的兩種面向對象的編程語言,它們都源自C語言的語法風格,但各自發(fā)展出了獨特的特性,這篇文章主要介紹了JAVA和C#的語法特性及優(yōu)缺點對比的相關資料,需要的朋友可以參考下
    2025-11-11
  • Java如何對返回參數(shù)進行處理

    Java如何對返回參數(shù)進行處理

    這篇文章主要介紹了Java如何對返回參數(shù)進行處理問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 基于springboot 長輪詢的實現(xiàn)操作

    基于springboot 長輪詢的實現(xiàn)操作

    這篇文章主要介紹了基于springboot 長輪詢的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java線程池執(zhí)行過程中遇到異常的原因和解決辦法

    Java線程池執(zhí)行過程中遇到異常的原因和解決辦法

    當線程池中線程頻繁出現(xiàn)未捕獲的異常,那線程的復用率就大大降低了,需要不斷地創(chuàng)建新線程,所以本文通過詳細的代碼給大家介紹了Java線程池執(zhí)行過程中遇到異常的解決辦法,需要的朋友可以參考下
    2025-10-10
  • Java中Stream流中map和forEach的區(qū)別詳解

    Java中Stream流中map和forEach的區(qū)別詳解

    本文主要介紹了Java中Stream流中map和forEach的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • spring cloud 配置中心native配置方式

    spring cloud 配置中心native配置方式

    這篇文章主要介紹了spring cloud 配置中心native配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot如何使用slf4j日志及其項目配置、MVC支持

    SpringBoot如何使用slf4j日志及其項目配置、MVC支持

    這篇文章主要介紹了SpringBoot如何使用slf4j日志及其項目配置、MVC支持,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 如何從Java接口的角度切入靜態(tài)工廠模式

    如何從Java接口的角度切入靜態(tài)工廠模式

    靜態(tài)工廠模式是一種改進的獲取實例的方法。通常我們會使用new關鍵字調(diào)用類的構造方法來創(chuàng)建一個對象。靜態(tài)工廠可以根據(jù)用戶傳入的參數(shù)來動態(tài)地實例化對象,避免一次性實例化所有對象所帶來的性能浪費,同時也降低了耦合性。
    2021-06-06
  • java通過snmp協(xié)議獲取物理設備信息

    java通過snmp協(xié)議獲取物理設備信息

    這篇文章主要介紹了java通過snmp協(xié)議獲取物理設備信息,snmp中文含義是簡單網(wǎng)絡管理協(xié)議,可用完成對計算機、路由器和其他網(wǎng)絡設備的遠程管理和監(jiān)視,本文我們是通過java程序來獲取,需要的朋友可以參考下
    2023-07-07
  • Java函數(shù)式編程(二):集合的使用

    Java函數(shù)式編程(二):集合的使用

    這篇文章主要介紹了Java函數(shù)式編程(二):集合的使用,本文著重講解了遍歷列表的一些方法,需要的朋友可以參考下
    2014-09-09

最新評論

河曲县| 江北区| 壶关县| 麻栗坡县| 洛阳市| 鄂州市| 清水县| 新竹县| 鄄城县| 驻马店市| 湘潭县| 梁山县| 宁阳县| 海伦市| 阳曲县| 佛坪县| 健康| 华亭县| 松潘县| 巴东县| 柳林县| 攀枝花市| 南汇区| 略阳县| 泗洪县| 阿拉尔市| 志丹县| 鹰潭市| 延川县| 溧水县| 达州市| 突泉县| 新泰市| 芦山县| 屯门区| 阿城市| 隆安县| 改则县| 沿河| 鄂尔多斯市| 高清|