SpringBoot學習-簡單QuartZ定時器設定
上一篇說明了一下Spring自帶的定時器設定,這一件就簡單敘述一下QuartZ的配置過程。
首先是新建一個QuartZ的配置檔案-quartz.properties:
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 1
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.plugin.jobInitializer.class =org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames =init/quartz_data_jobs.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
再新建一個XML檔案用於存放定時執行的Job資訊-quartz_data_jobs.xml:
<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data
xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData
http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
version="1.8">
<schedule>
<job>
<name>FirstJob</name >
<group>DummyGroup</group>
<description>This is FirstJob</description>
<job-class>com.example.demo.quartz.TestJob2</job-class>
</job>
<trigger>
<cron>
<name>dummyTrigger</name>
<job-name>FirstJob</job-name>
<job-group>DummyGroup</job-group>
<!-- It will run every 2 seconds -->
<cron-expression>0/2 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
建立需要執行的Job類-TestJob2:
package com.example.demo.quartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.Date;
public class TestJob2 implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("正在執行定時任務:"+new Date());
}
}
最後是建立一個配置類,用於QuartZ的啟動配置-QuartZConfig:
package com.example.demo.quartz;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartZConfig {
private ApplicationContext applicationContext;
/**
* quartz 啟動配置
*/
@Bean
public SchedulerFactory quartz() throws SchedulerException {
// Creating scheduler factory and scheduler
SchedulerFactory factory = new StdSchedulerFactory("quartz.properties");
Scheduler scheduler = factory.getScheduler();
scheduler.start();
return factory;
}
}
執行結果如下:
可以看到定時任務正常執行了。
補充maven引包:
<!--QuartZ定時任務-->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
相關推薦
SpringBoot學習-簡單QuartZ定時器設定
上一篇說明了一下Spring自帶的定時器設定,這一件就簡單敘述一下QuartZ的配置過程。 首先是新建一個QuartZ的配置檔案-quartz.properties: org.quartz.scheduler.instanceName = MySched
Quartz定時器設定
<!-- 配置定時任務 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name=
springboot整合quartz定時器實現定時任務詳解
最近需要 做一個按照時間,定時初始化一些資訊的功能,研究了一下quartz,也簡單瞭解一下TimerTask,廢話不多說。 quartz和TimerTask的區別: timer是jdk自帶的(可想而知,肯定是不怎麼好用)。 Quartz可以通過cron表示式精確到特定時間執行,而T
Quartz 定時器的時間設定
時間的配置如下:<value>0 26 16 * * ?</value> 時間大小由小到大排列,從秒開始,順序為 秒,分,時,天,月,年 *為任意 ?為無限制。 由此上面所配置的內
springboot使用Quartz定時器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> <
quartz定時器簡單使用
首先我們需要匯入quartz的包,我用的maven管理jar包,Spring3.1以下的版本才能用quartz1.X的版本, Spring3.1以上的版本才能用quartz2.X的版本 具體原因沒有深究 <dependency> <g
spring整合Quartz定時器
() void java類 info throws tex execute new protect 第一種:為普通java類中的某個方法配置跑批任務 1.定義要跑批的類和方法: package com.xy.utils.quartz; import org.joda.t
quartz定時器實現
quartz總結:要實現定時器quartz,我們註意兩步就行了,一是寫好實現類註意實現類的方法名要和配置中一致,二是做好配置。然後就可以測試了。①定時器實現類HealthRecodersTokenScheduler.javapublic class HealthRecodersTokenScheduler {
(筆記)Linux內核學習(八)之定時器和時間管理
全局變量 define 結構 load 統計 object 一個 完成 溢出 一 內核中的時間觀念 內核在硬件的幫助下計算和管理時間。硬件為內核提供一個系統定時器用以計算流逝的時間。系 統定時器以某種頻率自行觸發,產生時鐘中斷,進入內核時鐘中斷處理程序中進行
setInterval定時器設定開關
box 方案 pan speed style current 給定 dst interval 今天簡單寫一個小案例:點擊按鈕,讓div“走”起來。主要是為了說明給定時器設定開關時需要註意的幾個問題。需求是:當點擊按鈕,讓div向右一直移動,當移動到500像素時,停下來。好了
java學習筆記之定時器
blog div this rgs date row demo sdf 時間 定時器 1 package pack01_timer; 2 3 import java.io.File; 4 import java.text.ParseException; 5 i
string整合Quartz定時器
調度 obd ont 觸發 lfa sta 每天 cron表達式 PE 直接上配置文件,此方法只需要配置好配置文件就行 1 <!--配置調度器--> 2 <bean name="startQuertz" lazy-init="false" a
百度前端學習日記20——定時器
out val interval fun tint 日記 tin clear 對象 setTimeout("function",time) 設置一個超時對象 setInterval("function",time) 設置一個超時對象 SetInterval為自動重復,set
SpringBoot知識體系實戰-定時器篇
之前 假設 schedule 取數據 rep 文件中 nag mark fc7 實戰前言:定時任務我想諸位童鞋都不陌生,簡而言之名為“設定定時鬧鐘做某件事情”,在這裏我將以訂單模塊作為實戰為例! 需求分析:在企業級應用中,經常打交道的業務應當屬於訂單模塊了,下面將基於這樣的
微信小程序學習Course 7 定時器功能
換算 ava 而且 tint 毫秒 src ole 時間 技術 微信小程序學習Course 7 定時器功能 微信小程序中有一個定時器API函數,其提供了四個API接口 7.1、number setTimeout(function callback, number
STM32學習之普通定時器是否能定時1us?
對於STM32F10x系列使用普通定時器能否能定時1us,筆者一直抱有懷疑態度。 於是筆者做了下述實驗: 程式碼: 主函式: int main(void) {SystemClock_Config();LED_Init();//LED初始化NVIC_Config();Timer2_
使用springboot時,@Scheduled定時器遇到的問題
@Scheduled 這個註解確實給我們帶了很大的方便,我們只要加上該註解,並且根據需求設定好就可以使用定時任務了。 但是,我們需要注意的是,@Scheduled 並不一定一定會按時執行。 因為使用@Scheduled 的定時任務雖然是非同步執行的,但是,不同的定時任務之間並
Broadcast基礎(使用廣播,傳送臨時廣播,註冊接收器,通過定時器設定定時廣播)
舉例場景: 碎片將資訊傳回頁面,介面卡向頁面傳回訊息 (一)Fragment提供了onAttach()方法,onAttach方法指定結合了Activity物件。定義一個回撥介面,把Activity物件強制轉換為回撥介面就可以在碎片中呼叫頁面方法 (二)Broadcast
spring-quartz 定時器 給targetMethod傳遞引數
今天在做一個專案的時候,要給一個定時器任務的執行方法傳遞引數,在網上找了一下資料,可以使用arguments引數: <bean id="subsidyJobDetail" class="org.springframework.scheduling.quartz
51微控制器學習筆記之定時器程式設計
一、定時器/計數器概述 1.相關暫存器 (1)TMOD——方式控制暫存器 GATE C/T M1 M0(T1 T0) GATE=0,定時器/計數器的執行由內部TR0/TR1置1選通; GATE=1,定時器/計數器的執行由外部中斷(I引腳P3.2/P3.3)和內部TR0/TR1 置1共