欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于@Scheduled不執(zhí)行的原因分析

 更新時(shí)間:2021年12月27日 14:58:46   作者:生活不只*眼前的茍且  
這篇文章主要介紹了關(guān)于@Scheduled不執(zhí)行的原因分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Scheduled不執(zhí)行的原因

1. 今天用@Schedule做了一個(gè)定時(shí)任務(wù)

希望凌晨1點(diǎn)執(zhí)行,代碼如下

@Service
public class ParseJsonService { 
    @Scheduled(cron = "0 0 1 * * ?")
    public void parseMongodbDataToJson() {
    }
}

第二天來公司了,發(fā)現(xiàn)根本沒有執(zhí)行。然后開始查找問題

2. 首先遇到查到的一個(gè)解決方案

說是spring的版本的問題,我看了下我以前用的定時(shí)任務(wù),的確spring用的是4. 于是我將spring的版本換成了4,發(fā)現(xiàn)還是不好使

3. 還有版本說要在spring

的配置文件中加上注解驅(qū)動(dòng)

<task:annotation-driven />

并且還要加上default-lazy-init="false"屬性,說是不讓spring懶加載,但是發(fā)現(xiàn)還是不行

4. 又查到版本說要在Bean上加上@Lazy(false)

讓spring對該Bean在啟動(dòng)的時(shí)候就加載,但是發(fā)現(xiàn)還是不行

終極解決方案(適合我,不一定適合你, 我用的Spring版本是3,不是4)

第一步:在spring的配置文件中加上

<task:annotation-driven />

第二步:在上述Bean上加上

@EnableScheduling

代碼如下:

@Service
@EnableScheduling
public class ParseJsonService { 
 @Scheduled(cron = "0 0 1 * * ?") 
 public void parseMongodbDataToJson() {
 
  }
}

@Scheduled不生效的排查記錄

@Scheduled 不生效的排查記錄

公司之前項(xiàng)目要加個(gè)定時(shí)處理,覺得so easy。

 <!-- 開啟定時(shí)任務(wù) -->
    <task:annotation-driven />
    <!-- 開啟注解 -->
    <context:annotation-config />
    <!-- 指定相關(guān)的包路徑 -->
    <context:component-scan base-package="com.ffrj.schedule"/>
@Component
public class CommonSchedule {
    
    //@Scheduled(cron = "0 0 1 * * ?")
    @Scheduled(cron = "*/5 * * * * ?")
    public void avg() {
        System.out.println("現(xiàn)在開始計(jì)算平均值 當(dāng)前時(shí)間為");
    }
}

本以為就搞定了 ,發(fā)現(xiàn)不生效!?。?/p>

開始網(wǎng)上查詢資料。

  • @EnableScheduling 也加了 不生效!
  • @Lazy(false) 也加了 不生效??!

開始有點(diǎn)慌了,看了下包路徑 沒問題啊 ,想著用xml 配一遍

<task:annotation-driven /> 
	<bean id="myTaskXml" class="com.ffrj.schedule.CommonSchedule "></bean>
	<task:scheduled-tasks>
		<task:scheduled ref="myTaskXml" method="show" cron="*/5 * * * * ?" />
	</task:scheduled-tasks>
    <context:component-scan base-package="com.ffrj.schedule" />

發(fā)現(xiàn)還是不生效?。。。。。?!

這時(shí)候前端訪問了一下我的接口 ,看了看log ,臥槽 system 打印了 ?。?!

冷靜了一下

@Lazy(false) 不生效??沒道理啊 然后開始翻配置文件看是不是有些bean 添加 default-lazy-init=“true” 屬性了 ,也沒有啊。

最后發(fā)現(xiàn) :

web.xml

不知道哪位奇葩 把這行給注掉了。

果斷取消注釋 解決問題。

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

相關(guān)文章

  • java生成excel并導(dǎo)出到對應(yīng)位置的方式

    java生成excel并導(dǎo)出到對應(yīng)位置的方式

    這篇文章主要介紹了java生成excel并導(dǎo)出到對應(yīng)位置的方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java實(shí)戰(zhàn)之兼職平臺系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之兼職平臺系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Java編寫一個(gè)兼職平臺系統(tǒng),采用到的技術(shù)有Springboot、SpringMVC、MyBatis、ThymeLeaf等,感興趣的小伙伴可以了解一下
    2022-03-03
  • 秒懂Kotlin之Java工程師快速掌握Kotlin的技巧

    秒懂Kotlin之Java工程師快速掌握Kotlin的技巧

    Kotlin 是一種在 Java 虛擬機(jī)上運(yùn)行的靜態(tài)類型編程語言,被稱之為 Android 世界的Swift,由 JetBrains 設(shè)計(jì)開發(fā)并開源。這篇文章主要介紹了秒懂Kotlin之Java工程師快速掌握Kotlin的技巧,需要的朋友可以參考下
    2021-09-09
  • Java靜態(tài)方法不能調(diào)用非靜態(tài)成員的原因分析

    Java靜態(tài)方法不能調(diào)用非靜態(tài)成員的原因分析

    在Java中,靜態(tài)方法是屬于類的方法,而不是屬于對象的方法,它可以通過類名直接調(diào)用,無需創(chuàng)建對象實(shí)例,非靜態(tài)成員指的是類的實(shí)例變量和實(shí)例方法,它們需要通過對象實(shí)例才能訪問和調(diào)用,本文小編將和大家一起探討Java靜態(tài)方法為什么不能調(diào)用非靜態(tài)成員
    2023-10-10
  • Java面試題沖刺第十八天--Spring框架3

    Java面試題沖刺第十八天--Spring框架3

    這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于Spring框架的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Maven中dependencyManagement管理項(xiàng)目依賴項(xiàng)

    Maven中dependencyManagement管理項(xiàng)目依賴項(xiàng)

    在開發(fā)?Java?項(xiàng)目時(shí),管理和協(xié)調(diào)依賴項(xiàng)的版本號是一項(xiàng)重要而繁瑣的任務(wù),本文主要介紹了Maven中dependencyManagement管理項(xiàng)目依賴項(xiàng),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 關(guān)于mybatis的一級緩存和二級緩存的那些事兒

    關(guān)于mybatis的一級緩存和二級緩存的那些事兒

    MyBatis自帶的緩存有一級緩存和二級緩存,今天我們就來學(xué)習(xí)一下,文中有非常詳細(xì)的總結(jié),對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Lombok的@Data等注解無效的解決

    Lombok的@Data等注解無效的解決

    這篇文章主要介紹了Lombok的@Data等注解無效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 熟練掌握J(rèn)ava8新特性之Stream API的全面應(yīng)用

    熟練掌握J(rèn)ava8新特性之Stream API的全面應(yīng)用

    Stream是Java8的一大亮點(diǎn),是對容器對象功能的增強(qiáng),它專注于對容器對象進(jìn)行各種非常便利、高效的 聚合操作(aggregate operation)或者大批量數(shù)據(jù)操作。Stream API借助于同樣新出現(xiàn)的Lambda表達(dá)式,極大的提高編程效率和程序可讀性,感興趣的朋友快來看看吧
    2021-11-11
  • Java裝飾者模式的示例詳解

    Java裝飾者模式的示例詳解

    裝飾者模式:在不改變原有對象的基礎(chǔ)之上,動(dòng)態(tài)的將功能附加到對象上,提供了繼承更有彈性的替代方案,也體現(xiàn)了開閉原則。本文將通過示例詳細(xì)講解一下裝飾者模式,需要的可以參考一下
    2022-02-02

最新評論