Quartz和Timer兩種定時器

2021-08-21 19:45:26 字數 1285 閱讀 3709

一、首先在spring中配置

二、要在web.xml監聽一下

com.operator.common.shutdownquartz

三、監聽類 (每次重啟tomcat的時候關掉上次的定時任務)

public class shutdownquartz implements servletcontextlistener catch (exception e)

}@override

public void contextinitialized(servletcontextevent arg0)

}

一、開啟監聽

com.operator.struts.action.***listener

二、監聽類

public class ***listener implements servletcontextlistener

} @override

public void contextinitialized(servletcontextevent arg0)

/**

* 迴圈執行任務

* @param mytask 要執行的任務

* @param dayinterval 每隔多少天執行一次任務

* @author ***

* @since 20180529

* */

public void starttask(long dayinterval)

timer.schedule(new ***tools(), 0, dayinterval);

} }三、任務類

public class ***tools extends timertask

/*** 定時執行任務

* @since 20180529

* @author ***

*/public static void dodhcpdata()

}

精確度和功能

quartz可以通過cron表示式精確到特定時間執行,而timertask不能。quartz擁有timertask所有的功能,而     timertask則沒有。quartz每次執行任務都建立乙個新的任務類物件,而timertask則每次使用同乙個任務類物件。quartz的某次執行任務過程中丟擲異常,不影響下一次任務的執行,當下一次執行時間到來時,定時器會再次執行任務;而timertask則不同,一旦某個任務在執行過程中丟擲異常,則整個定時器生命週期就結束,以後永遠不會再執行定時器任務

兩種if判斷

上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...

C DLL匯出的兩種方式和鏈結的兩種方式

第一種 匯出方式 extern c declspec dllexport int plus int x,int y extern c declspec dllexport int sub int x,int y extern c declspec dllexport int mul int x,in...

c 兩種Transaction和用法

c 兩種transaction和用法 第一種 petshopprofileprovider.cs中的用法 sqlconnection conn new sqlconnection sqlhelper.connectionstringprofile conn.open sqltransaction t...