Spring-Boot中@Scheduled注解不生效


  今天測試來找我,說定時的策略任務不能運行了,或者有時候運行有時候不運行,很奇怪。之前都好好,百思不得其解。

  后來發現多了一個定時任務類,且都是用的@Scheduled注解。

  突然就恍然大悟,記得在哪里看到過,如果在多個函數上使用了@Scheduled,那么一定是一個執行完畢,才能排下一個。

  然后發現某些時間點我的任務會被阻塞。

  以下是兩個定時任務類都用了這個注解的圖。

  

 

  解決方法如下,配置線程池,創建一個類配置,如下:

import java.util.concurrent.ScheduledThreadPoolExecutor;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ThredConfig {
	@Bean
	public ScheduledThreadPoolExecutor scheduledExecutorService() {
		ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(10);
		return executor;
	}
}

  這就是我踩的坑,學習的路上任重而道遠。如有錯漏,歡迎指正。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM