|
在spring中你有時(shí)候需要在每天或者指定的一個(gè)時(shí)候進(jìn)行一系列的操作。這個(gè)時(shí)候我們的spring為我們提供了一個(gè)很好的包來解決這個(gè)問題,你這是需要寫一個(gè)Class文件,在文件中定義你要執(zhí)行操作的函數(shù)你就可以通過配置來達(dá)到定時(shí)操作了。 1)需要的jar包為:quartz.jar包,將他加到你工程的classpath中去。 2)在applicationContext中配置你的定時(shí)發(fā)送操作。 (1)下邊定義的這個(gè)testQuarz就是我們要將我們的定時(shí)操作函數(shù)TestDoIt()所要放置的地方。就是說TestDoIt()這個(gè)方法是TestQuarz這個(gè)類中的一個(gè)函數(shù)。這里聲明一下這個(gè)bean。就是將這個(gè)bean注入到我們的容器中。這個(gè)時(shí)候我們可以在這個(gè)bean中引用容器中其他的bean進(jìn)行數(shù)據(jù)庫操作。是不是很酷?
<!-- 每天凌晨1點(diǎn)7分18妙運(yùn)行定時(shí)任務(wù),時(shí)間的設(shè)置請看下邊 更多的配置例子請查看:http://wiki./display/QRTZ1/CronTriggers+Tutorial -->
<!-- 一定要把a(bǔ)utowire設(shè)置為no,否則它能感知出dataSourse并設(shè)置里面的dataSourse的屬性--> (4)下邊的是我們管理這些觸發(fā)器的總設(shè)置,他管理我們我們的觸發(fā)器列表。據(jù)說他的內(nèi)部是自己建立了自己的數(shù)據(jù)庫來存放自己的臨時(shí)表,因?yàn)槲覀冊谖覀兊呐渲梦募凶詣?dòng)的配置了dataSource這個(gè)bean,我們的每一個(gè)bean都會(huì)在使用數(shù)據(jù)庫的時(shí)候找到他,但是如果我們下邊的這個(gè)管理bean知道的話就會(huì)把他當(dāng)成自己的臨時(shí)數(shù)據(jù)庫,然后就會(huì)出錯(cuò)。所以我們需要將下邊的數(shù)據(jù)庫感知設(shè)置成否定。這樣就不影響他內(nèi)部實(shí)現(xiàn)了。我們可以在下邊的bean的list中放置多個(gè)觸發(fā)器。
到此,我們的定時(shí)發(fā)送設(shè)置就完成了,具體的還要看看spring的refence比較好,那些比較細(xì)的細(xì)節(jié)東東我沒有涉及到。
|
|
|