spring項目開發所用到的定時任務quartz及Linux下crontab定時任務詳解

  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    清空全部定時任務

相關文章
相關標籤/搜索