Spring定時任務的多種使用方法總結

2021-09-01 09:48:46 字數 1225 閱讀 6988

這裡使用的是spring2.5,需要的jar包:spring.jar(spring2.5的完全包);quartz-all-1.6.0.jar;還需commons-*.jar。

方法一:

任務排程工作類**:

public class clock extends timertask      

}

應用上下文xml中的具體配置如下:

<?xml version="1.0" encoding="utf-8"?>  	 

5000

5000

方法二:

任務排程工作類**:

public class quartzclock extends quartzjobbean      

}

應用上下文xml中的具體配置如下:

<?xml version="1.0" encoding="utf-8"?> 

com.quartzclock

0/15 * * * * ?

方法三:

任務排程工作類**:

public class taskserviceimpl

}

應用上下文xml中的具體配置如下:

<?xml version="1.0" encoding="utf-8"?>

synchronizedb

0/15 * * * * ?

特別說明:

0 0/2 * * * ? 每兩分鐘
就上面的這個cron表示式,定時任務在第三種配置模式下,表現為以下行為:

定時任務是乙個執行緒在執行,例如執行緒在09:00:00啟動,且完成工作在09:02:00 之前,那麼執行緒健在09:02:00再次啟動。如果執行緒在09:00:00啟動,且完成工作在09:02:00之後,那麼執行緒健在完成時間再次啟動。

在該配置下,總結規律如下:

1.定時任務將由乙個執行緒啟動,而不是多個執行緒執行。

2.該執行緒每兩分鐘啟動一次,該時間間隔是執行緒每次啟動的時間差,如果執行緒執行時間超出了兩分鐘的設定間隔,那麼執行緒在執行完成後繼續執行。

多線執行緒配置模式下的執行規律大家可以自行測試。

附錄:

Spring定時任務

sayhello 0 08 21 下面的表示式 0 15 10 6l 2002 2005 將在2002年到2005年的每個月的最後乙個星期五上午10點15分執行作業。你不可能用 trigger來做這些事情。你可以用兩者之中的任何乙個,但哪個跟合適則取決於你的排程需要。更多詳細介紹參考此處 關於cro...

spring 定時任務

xmlns 多加下面的內容 xmlns task 然後xsi schemalocation多加下面的內容 spring task 3.1.xsd最後是我們的task任務掃瞄註解 或者 public inte ce imytestservice component import org.springf...

Spring 定時任務

scheduled cron 0 0 1 override public synchronized void dojob throws exception 字段 允許值 允許的特殊字元 秒 0 59 分 0 59 小時 0 23 日期 1 31 l w c 月份 1 12 或者 jan dec 星期...