小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于Spring定時(shí)操作的例子

 david.tao 2006-03-30
在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ù)庫操作。是不是很酷?
代碼:
<bean id="testQuarz" class="cn.demo.test.util.TestQuarz"/>
(2)下邊的這個(gè)bean是我們定義要使用哪個(gè)bean中的哪個(gè)方法作為我們要定時(shí)執(zhí)行的任務(wù)。這里定義了我們要使用testQuarz這個(gè)bean中的TestDoIt()這個(gè)函數(shù)作為我們要定時(shí)執(zhí)行的任務(wù)。
代碼:
 <bean id="quartzDetail"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject">
   <ref bean="testQuarz"/>
  </property>
  <property name="targetMethod">
   <value>TestDoIt</value>
  </property>
 </bean>
(3)這是一個(gè)觸發(fā)器的bean的設(shè)置,在這里我們設(shè)置了我們要觸發(fā)的jobDetail是哪個(gè)。這里我們定義了要觸發(fā)的jobDetail是quartzDetail,并且我們還定義了觸發(fā)的時(shí)間。
代碼:
 <bean id="quartzTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <ref bean="quartzDetail"/>
  </property>
  <property name="cronExpression">


<!-- 每天凌晨1點(diǎn)7分18妙運(yùn)行定時(shí)任務(wù),時(shí)間的設(shè)置請看下邊
更多的配置例子請查看:http://wiki./display/QRTZ1/CronTriggers+Tutorial
-->
代碼:
   <value>18 7 1 * * ?</value>
   
  </property>
 </bean>

<!-- 一定要把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ā)器。
代碼:
 <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
      <property name="triggers">
      <list>
        <ref local="quartzTrigger"/>
      </list>
     </property>
   </bean>

到此,我們的定時(shí)發(fā)送設(shè)置就完成了,具體的還要看看spring的refence比較好,那些比較細(xì)的細(xì)節(jié)東東我沒有涉及到。 Very Happy

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多