成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

SpringBoot實現(xiàn)定時任務(wù)

前言:

夏縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),夏縣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為夏縣上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的夏縣做網(wǎng)站的公司定做!

Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。

從最根本上來講,Spring Boot就是一些庫的集合,它能夠被任意項目的構(gòu)建系統(tǒng)所使用。簡便起見,該框架也提供了命令行界面,它可以用來運行和測試Boot應(yīng)用??蚣艿陌l(fā)布版本,包括集成的CLI(命令行界面),可以在Spring倉庫中手動下載和安裝

代碼:

定時任務(wù)1

import lombok.extern.slf4j.Slf4j;

/**

* @author Created by niugang on 2019/12/24/15:29

*/

@Slf4j

public class TaskTest {

public void task1() {

log.info("反射調(diào)用測試[一]類");

}

}

定時任務(wù)2

import lombok.extern.slf4j.Slf4j;

/**

* @author Created by niugang on 2019/12/24/15:54

*/

@Slf4j

public class TaskTest2 {

public void task2() {

log.info("反射調(diào)用測試[二]類");

}

}

配置類

import lombok.Data;

import lombok.extern.slf4j.Slf4j;

import org.springframework.context.annotation.Configuration;

import org.springframework.scheduling.annotation.EnableScheduling;

import org.springframework.scheduling.annotation.SchedulingConfigurer;

import org.springframework.scheduling.config.CronTask;

import org.springframework.scheduling.config.ScheduledTask;

import org.springframework.scheduling.config.ScheduledTaskRegistrar;

import java.lang.reflect.Method;

import java.util.ArrayList;

import java.util.List;

/**

* @author Created by niugang on 2019/12/24/15:19

*/

@Configuration

@EnableScheduling

@Slf4j

public class CompleteScheduleConfig implements SchedulingConfigurer {

private static List taskRecordList = new ArrayList<>();

/*

*模擬數(shù)據(jù)庫存儲

*/

static {

TaskRecord taskRecord = new TaskRecord();

taskRecord.setExecuteMehod("task1");

taskRecord.setClassPath("com.example.demo.pojo.TaskTest");

taskRecord.setCron("0/5 * * * * ?");

taskRecordList.add(taskRecord);

TaskRecord taskRecord2 = new TaskRecord();

taskRecord2.setExecuteMehod("task2");

taskRecord2.setClassPath("com.example.demo.pojo.TaskTest2");

taskRecord2.setCron("0/10 * * * * ?");

taskRecordList.add(taskRecord2);

}

@Override

public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {

// taskRegistrar.addCronTask(() -> log.info("執(zhí)行定時任務(wù),{}", LocalDateTime.now()), "0/5 * * * * ?");

/* taskRegistrar.addCronTask(new Runnable() {

@Override

public void run() {

try {鄭州中原婦科醫(yī)院 http://mobile.chfk120.com/

Class aClass = Class.forName("com.example.demo.pojo.TaskTest");

Object o = aClass.newInstance();

Method[] declaredMethods = aClass.getDeclaredMethods();

for (Method declaredMethod : declaredMethods) {

declaredMethod.invoke(o);

// log.info("方法名稱:{}",declaredMethod.getName());

}

} catch (Exception e) {

e.printStackTrace();

}

}

}, "0/5 * * * * ?");*/

for (TaskRecord taskRecord : taskRecordList) {

String classPath = taskRecord.getClassPath();

String cron = taskRecord.getCron();

String executeMehod = taskRecord.getExecuteMehod();

Runnable runnable = () -> {

Class aClass;

try {

aClass = Class.forName(classPath);

Object o = aClass.newInstance();

Method[] declaredMethods = aClass.getDeclaredMethods();

for (Method declaredMethod : declaredMethods) {

if (declaredMethod.getName().equals(executeMehod)) {

/// log.info("方法名稱:{}",declaredMethod.getName());

declaredMethod.invoke(o);

}

}

} catch (Exception e1) {

e1.printStackTrace();

}

};

CronTask cronTask = new CronTask(runnable, cron);

ScheduledTask scheduledTask = taskRegistrar.scheduleCronTask(cronTask);

//scheduledTask.cancel(); 取消定時任務(wù)

}

}

@Data

private static class TaskRecord {

private String classPath;

private String executeMehod;

private String cron;

//可以在增加一個type 執(zhí)行其他類型的定時任務(wù)

}

}

網(wǎng)站欄目:SpringBoot實現(xiàn)定時任務(wù)
當(dāng)前路徑:http://jinyejixie.com/article10/ghdsdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司、App設(shè)計建站公司、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
淳安县| 鹤岗市| 体育| 长武县| 如皋市| 东乡县| 东山县| 南丹县| 山东省| 河南省| 恩平市| 如皋市| 张掖市| 安阳县| 洪洞县| 鲁甸县| 双牌县| 宝坻区| 晴隆县| 承德市| 和田市| 柳林县| 莱阳市| 禄丰县| 于田县| 平定县| 江山市| 怀化市| 腾冲县| 中超| 兴化市| 湘阴县| 盐津县| 红原县| 瓮安县| 会理县| 四川省| 麻城市| 嘉兴市| 阿荣旗| 鄯善县|