摘要:前言用組件實(shí)現(xiàn)簡易的定時(shí)任務(wù)功能。步驟創(chuàng)建一個啟動類注意,是關(guān)鍵,加了這個注解才能啟動定時(shí)任務(wù)。編寫定時(shí)任務(wù)方法可以實(shí)現(xiàn)兩種定時(shí),一種是每個一段時(shí)間執(zhí)行一次方法,另一種是執(zhí)行一次方法之后間隔若干時(shí)間后再執(zhí)行下一次。
前言
用Spring-Context組件實(shí)現(xiàn)簡易的定時(shí)任務(wù)功能。只可以支持較簡單的業(yè)務(wù)場景,實(shí)用價(jià)值不高。如果想要投放到生產(chǎn)環(huán)境,需要進(jìn)行一些改造。
步驟 1. pom.xml2. 創(chuàng)建一個啟動類org.springframework.boot spring-boot-starter-parent 1.5.8.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
注意,@EnableScheduling是關(guān)鍵,加了這個注解才能啟動定時(shí)任務(wù)。
3. 編寫定時(shí)任務(wù)方法可以實(shí)現(xiàn)兩種定時(shí),一種是每個一段時(shí)間執(zhí)行一次方法(fixedRated),另一種是執(zhí)行一次方法之后間隔若干時(shí)間后再執(zhí)行下一次(fixedDelay)。
@Component public class DemoTasks { @Scheduled(fixedRate = 5000) public void doSomethingEvery5Seconds() { System.out.println("fixedRate 5sec task executed"); } @Scheduled(fixedDelay = 3000) public void doSomethingAndSleep2Seconds() { System.out.println("fixedDelay 2sec task start"); try { Thread.sleep(4000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("fixedDelay 2sec task end"); } }完整源碼
https://github.com/gzllol/spr...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/70681.html
摘要:我們項(xiàng)目使用的是框架,所以我就想到用框架的定時(shí)器。,以及的結(jié)構(gòu)注在定時(shí)器這塊使用到兩個一個是用于存儲任務(wù)的實(shí)例。 這兩天老大給了個需求想把商城熱點(diǎn)數(shù)據(jù)同步到redis緩存。我們項(xiàng)目使用的是swoft框架,所以我就想到用框架的Crontab定時(shí)器。但是在測試的時(shí)候發(fā)現(xiàn)把Table的size設(shè)置為1024時(shí)(實(shí)際上設(shè)置為任何大小都一樣,貼上swoole的解釋)發(fā)現(xiàn)內(nèi)存溢出了 showImg...
摘要:背景最近來了個實(shí)習(xí)僧小弟,安排他實(shí)現(xiàn)對目標(biāo)網(wǎng)站連通性檢測的小功能簡單講就是將下邊的腳本換成代碼來實(shí)現(xiàn)百度平臺狀態(tài)不正常,請注意功能實(shí)現(xiàn)使用開始執(zhí)行定時(shí)任務(wù),檢測百度網(wǎng)站連通性請求百度成功,返回報(bào)文請求異常百度執(zhí)行檢測百度網(wǎng)站連通 背景 最近來了個實(shí)習(xí)僧小弟,安排他實(shí)現(xiàn)對目標(biāo)網(wǎng)站 連通性檢測的小功能,簡單講就是將下邊的shell 腳本換成Java 代碼來實(shí)現(xiàn) 1#!/bin/bash ...
摘要:前言在使用整合定時(shí)任務(wù),發(fā)現(xiàn)當(dāng)某個定時(shí)任務(wù)執(zhí)行出現(xiàn)執(zhí)行時(shí)間過長的情況時(shí)會阻塞其他定時(shí)任務(wù)的執(zhí)行。問題定位后續(xù)通過翻查的文檔以及打印日志輸出當(dāng)前線程信息得知問題是由于默認(rèn)使用只要個線程處理定時(shí)任務(wù)。問題復(fù)盤需要注意示例的版本為。 前言 在使用Springboot整合定時(shí)任務(wù),發(fā)現(xiàn)當(dāng)某個定時(shí)任務(wù)執(zhí)行出現(xiàn)執(zhí)行時(shí)間過長的情況時(shí)會阻塞其他定時(shí)任務(wù)的執(zhí)行。 問題定位 后續(xù)通過翻查Springboo...
摘要:定時(shí)任務(wù)間隔時(shí)間方式執(zhí)行一次定時(shí)任務(wù)線程休眠規(guī)定時(shí)間類類允許調(diào)度一個任務(wù)。引入依賴配置測試執(zhí)行一次定時(shí)任務(wù)使用注解是為定時(shí)任務(wù)而生的一個注解,查看注解的源碼表達(dá)式接收一個。 本文旨在用通俗的語言講述枯燥的知識 定時(shí)任務(wù)作為一種系統(tǒng)調(diào)度工具,在一些需要有定時(shí)作業(yè)的系統(tǒng)中應(yīng)用廣泛,如每逢某個時(shí)間點(diǎn)統(tǒng)計(jì)數(shù)據(jù)、在將來某個時(shí)刻執(zhí)行某些動作...定時(shí)任務(wù)在主流開發(fā)語言均提供相應(yīng)的API供開發(fā)者調(diào)用...
摘要:也是自帶的一個基于線程池設(shè)計(jì)的定時(shí)任務(wù)類。其每個調(diào)度任務(wù)都會分配到線程池中的一個線程執(zhí)行,所以其任務(wù)是并發(fā)執(zhí)行的,互不影響。 原創(chuàng)不易,如需轉(zhuǎn)載,請注明出處https://www.cnblogs.com/baixianlong/p/10659045.html,否則將追究法律責(zé)任!??! 一、在JAVA開發(fā)領(lǐng)域,目前可以通過以下幾種方式進(jìn)行定時(shí)任務(wù) 1、單機(jī)部署模式 Timer:jdk中...
閱讀 2987·2021-11-11 16:55
閱讀 1012·2021-09-28 09:36
閱讀 3870·2021-09-22 15:22
閱讀 2315·2021-09-06 15:12
閱讀 1839·2021-08-19 10:55
閱讀 2942·2019-08-30 12:52
閱讀 568·2019-08-29 14:03
閱讀 1280·2019-08-29 12:27