摘要:前言用組件實(shí)現(xiàn)簡(jiǎn)易的定時(shí)任務(wù)功能。步驟創(chuàng)建一個(gè)啟動(dòng)類注意,是關(guān)鍵,加了這個(gè)注解才能啟動(dòng)定時(shí)任務(wù)。編寫定時(shí)任務(wù)方法可以實(shí)現(xiàn)兩種定時(shí),一種是每個(gè)一段時(shí)間執(zhí)行一次方法,另一種是執(zhí)行一次方法之后間隔若干時(shí)間后再執(zhí)行下一次。
前言
用Spring-Context組件實(shí)現(xiàn)簡(jiǎn)易的定時(shí)任務(wù)功能。只可以支持較簡(jiǎn)單的業(yè)務(wù)場(chǎng)景,實(shí)用價(jià)值不高。如果想要投放到生產(chǎn)環(huán)境,需要進(jìn)行一些改造。
步驟 1. pom.xml2. 創(chuàng)建一個(gè)啟動(dò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)鍵,加了這個(gè)注解才能啟動(dòng)定時(shí)任務(wù)。
3. 編寫定時(shí)任務(wù)方法可以實(shí)現(xiàn)兩種定時(shí),一種是每個(gè)一段時(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70681.html
摘要:我們項(xiàng)目使用的是框架,所以我就想到用框架的定時(shí)器。,以及的結(jié)構(gòu)注在定時(shí)器這塊使用到兩個(gè)一個(gè)是用于存儲(chǔ)任務(wù)的實(shí)例。 這兩天老大給了個(gè)需求想把商城熱點(diǎn)數(shù)據(jù)同步到redis緩存。我們項(xiàng)目使用的是swoft框架,所以我就想到用框架的Crontab定時(shí)器。但是在測(cè)試的時(shí)候發(fā)現(xiàn)把Table的size設(shè)置為1024時(shí)(實(shí)際上設(shè)置為任何大小都一樣,貼上swoole的解釋)發(fā)現(xiàn)內(nèi)存溢出了 showImg...
摘要:背景最近來(lái)了個(gè)實(shí)習(xí)僧小弟,安排他實(shí)現(xiàn)對(duì)目標(biāo)網(wǎng)站連通性檢測(cè)的小功能簡(jiǎn)單講就是將下邊的腳本換成代碼來(lái)實(shí)現(xiàn)百度平臺(tái)狀態(tài)不正常,請(qǐng)注意功能實(shí)現(xiàn)使用開始執(zhí)行定時(shí)任務(wù),檢測(cè)百度網(wǎng)站連通性請(qǐng)求百度成功,返回報(bào)文請(qǐng)求異常百度執(zhí)行檢測(cè)百度網(wǎng)站連通 背景 最近來(lái)了個(gè)實(shí)習(xí)僧小弟,安排他實(shí)現(xiàn)對(duì)目標(biāo)網(wǎng)站 連通性檢測(cè)的小功能,簡(jiǎn)單講就是將下邊的shell 腳本換成Java 代碼來(lái)實(shí)現(xiàn) 1#!/bin/bash ...
摘要:前言在使用整合定時(shí)任務(wù),發(fā)現(xiàn)當(dāng)某個(gè)定時(shí)任務(wù)執(zhí)行出現(xiàn)執(zhí)行時(shí)間過(guò)長(zhǎng)的情況時(shí)會(huì)阻塞其他定時(shí)任務(wù)的執(zhí)行。問題定位后續(xù)通過(guò)翻查的文檔以及打印日志輸出當(dāng)前線程信息得知問題是由于默認(rèn)使用只要個(gè)線程處理定時(shí)任務(wù)。問題復(fù)盤需要注意示例的版本為。 前言 在使用Springboot整合定時(shí)任務(wù),發(fā)現(xiàn)當(dāng)某個(gè)定時(shí)任務(wù)執(zhí)行出現(xiàn)執(zhí)行時(shí)間過(guò)長(zhǎng)的情況時(shí)會(huì)阻塞其他定時(shí)任務(wù)的執(zhí)行。 問題定位 后續(xù)通過(guò)翻查Springboo...
摘要:定時(shí)任務(wù)間隔時(shí)間方式執(zhí)行一次定時(shí)任務(wù)線程休眠規(guī)定時(shí)間類類允許調(diào)度一個(gè)任務(wù)。引入依賴配置測(cè)試執(zhí)行一次定時(shí)任務(wù)使用注解是為定時(shí)任務(wù)而生的一個(gè)注解,查看注解的源碼表達(dá)式接收一個(gè)。 本文旨在用通俗的語(yǔ)言講述枯燥的知識(shí) 定時(shí)任務(wù)作為一種系統(tǒng)調(diào)度工具,在一些需要有定時(shí)作業(yè)的系統(tǒng)中應(yīng)用廣泛,如每逢某個(gè)時(shí)間點(diǎn)統(tǒng)計(jì)數(shù)據(jù)、在將來(lái)某個(gè)時(shí)刻執(zhí)行某些動(dòng)作...定時(shí)任務(wù)在主流開發(fā)語(yǔ)言均提供相應(yīng)的API供開發(fā)者調(diào)用...
摘要:也是自帶的一個(gè)基于線程池設(shè)計(jì)的定時(shí)任務(wù)類。其每個(gè)調(diào)度任務(wù)都會(huì)分配到線程池中的一個(gè)線程執(zhí)行,所以其任務(wù)是并發(fā)執(zhí)行的,互不影響。 原創(chuàng)不易,如需轉(zhuǎn)載,請(qǐng)注明出處https://www.cnblogs.com/baixianlong/p/10659045.html,否則將追究法律責(zé)任?。?! 一、在JAVA開發(fā)領(lǐng)域,目前可以通過(guò)以下幾種方式進(jìn)行定時(shí)任務(wù) 1、單機(jī)部署模式 Timer:jdk中...
閱讀 2907·2021-11-11 16:55
閱讀 954·2021-09-28 09:36
閱讀 3806·2021-09-22 15:22
閱讀 2238·2021-09-06 15:12
閱讀 1771·2021-08-19 10:55
閱讀 2895·2019-08-30 12:52
閱讀 502·2019-08-29 14:03
閱讀 1210·2019-08-29 12:27