org.springframework.boot jar包 內(nèi)置定時任務注解 。生成定時任務有 * * * * * ? 表示秒分時日月周。 日和周的位置 必須某個位置用?代替*號用于區(qū)別。
定時任務規(guī)則:0? *? *? * ? *? * 表示任意月的任意周的每天的每時的每分的0秒開始一次任務。
任務加在方法上? 開始一次任務 表示 啟動?一次方法。
0/5 *? *? 5? *? 4? 表示 每月的最后一周的第五天的任意時任意分的0秒開始 每隔5秒啟動一次任務。
定時任務表達式 還有很多任務開啟時間設置,根據(jù)需求。??org.springframework.boot 內(nèi)置的定時任務 天1-30就表示1號到30號,周1-7?表示周一到周日。?
關于定時任務注解加在方法上指定定時表達式,定時任務配置類默認只有一個線程,定時任務開啟會占用當前定時任務線程,如果下一個定時任務開啟 ,這個定時任務沒有結束,會阻塞。 就無法按照定時表達式指定時間啟動。 解決辦法? 增加定時任務配置類線程數(shù)量。
spring.session.task.scheduling.pool.size=10? ?//設置定時任務線程數(shù)量10個
開啟定時任務注解@EnableScheduling? ?加在方法所在的類上。定時任務方法上@Scheduled(cron = " */5 * * ? * 6")? ?并指定定時任務表達式 cron。
還有一種無需配置定時任務線程數(shù)量,避免定時任務阻塞。在當時任務方法上開啟異步任務,
在定時任務方法所在類上面加入異步任務注解@EnableAsync? ? ? ,在定時任務方法上加入注解@Async。文章來源:http://www.zghlxwxcb.cn/news/detail-809960.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-809960.html
到了這里,關于spring-boot定時任務的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!