1、spring項目中quartz的使用java
1.配置文件spring
<!-- 註冊自定義做業類 --> <bean id="myJob" class="com.boci.quartzJobs.UpdateEncryptCertJob"> </bean> <!-- 配置JobDetail --> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 注入目標對象 --> <property name="targetObject" ref="myJob"/> <!-- 注入目標方法 --> <property name="targetMethod" value="updateEncryptCert"/> </bean> <!-- 配置觸發器 --> <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 注入任務詳情對象 --> <property name="jobDetail" ref="jobDetail"/> <!-- 注入cron表達式,經過這個表達式指定觸發的時間點 --> <!-- http://cron.qqe2.com/也能夠去這個網址在線生成本身須要的時間表達式 --> <property name="cronExpression"> <value>0 0 3 * * ? </value> </property> </bean> <!-- 配置調度工廠 --> <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 注入觸發器 --> <property name="triggers"> <list> <ref bean="myTrigger"/> </list> </property> </bean>
2.建立定時任務須要執行的類
ide
注意:類名和方法名要和配置文件中配置的一致spa
例子以下:日誌
package com.boci.quartzJobs; public class UpdateEncryptCertJob { public void updateEncryptCert() { LogUtil.writeLog("----------------執行定時任務開始------------------"); //定義本身的實現邏輯 LogUtil.writeLog("----------------執行定時任務結束------------------"); } }
2、也可以使用Linux下的crontab實現定時任務code
1.定義須要定時執行的業務邏輯例子以下:對象
package test; public class Test{ public static void main(String[] args) throws Exception{ MyThread1 mThread = new MyThread1(); mThread.start(); Thread thread = new Thread(new MyThread2()); thread.start(); } } //繼承Thread class MyThread1 extends Thread{ @Override public void run() { System.out.println("myThread1"); } } //實現Runnable class MyThread2 implements Runnable{ @Override public void run() { System.out.println("mythread2"); } }
2.將建立的類轉成jar文件blog
步驟:在項目中選擇Test.java右鍵點擊export,選擇Runnable JAR file 點擊next繼承
3. 將jar文件上傳至Linux,建立執行的腳本文件Test.sh,內容以下:crontab
/usr/java/jdk1.8.0_211-amd64/bin/java -jar /home/sunshine/Test.jar>/home/sunshine/Test`date +%Y%m%d`.log
注意:java是你本身安裝java的位置
4.在Linux下輸入 crontab -e 添加定時任務內容以下:
5.查看本身保存日誌的文件,定時任務設置成功
相關Linux命令
crontab -e 編輯定時任務
crontab -l 查看所設置的定時任務列表
crontab -r 清空全部定時任務