gdufo

           

          Appfuse的Quartz配置

          在實(shí)際項(xiàng)目開發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到在一個(gè)特定的時(shí)間處理特定的事情,比如,在每個(gè)星期天的晚上11點(diǎn)運(yùn)算MRP。這里我們就可以用到Quartz的定時(shí)執(zhí)行功能。在本例子中,我們只是簡(jiǎn)單的展示在特定的時(shí)間內(nèi),向數(shù)據(jù)庫(kù)insert 一條記錄。

           

          一、準(zhǔn)備工作。

          1、下載 Quartz1.6

          https://quartz.dev.java.net/files/documents/1267/43545/quartz-1.6.0.zip

           

          二、安裝到Lib目錄下

          1、  quartz-1.6.0.jar quartz-1.6.0.zip解壓到D盤根目錄。

          2、  進(jìn)入Appfuse的項(xiàng)目目錄,比如: D:\myproject

          3、執(zhí)行命令:mvn install:install-file -Dfile=quartz-1.6.0.jar -DgroupId=quartz -DartifactId=quartz -Dversion=1.6.0 -Dpackaging=jar –Dfile=D/quartz-1.6.0.jar

          三、 編寫具體的Bean和方法


          public class SyslogManagerImpl extends GenericManagerImpl<Syslog, Long> implements SyslogManager {

              SyslogDao syslogDao;

           

              
          public SyslogManagerImpl(SyslogDao syslogDao) {

                  
          super(syslogDao);

                  
          this.syslogDao = syslogDao;

              }

             

              
          public void writesyslog(){

                  Syslog syslog 
          = new Syslog();

                  syslog.setModel(
          "test");

                  Date optime 
          = new Date();

                  syslog.setOpTime(optime);

                  syslog.setUserid(
          new Long(1));

              syslogDao.writeLog(syslog);

              }

          }

           

          四、配置SpringApplicationContext-Services.xml


          <!-- =================================================================== -->

              
          <!-- Quartz  configuration                                         -->

              
          <!-- =================================================================== -->

              
          <!-- Schedule task configuration -->

              
          <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

                 
          <property name="targetObject" ref="syslogManager"/>

                 
          <property name="targetMethod" value="writesyslog"/>

                 
          <property name="concurrent" value="false" />

          </bean>

          <!—這里定義每小時(shí)的第2分種和第3分種此行方法-->

              
          <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

                
          <property name="jobDetail" ref="methodInvokingJobDetail"/>

                
          <property name="cronExpression" value="0 2,3 * * * ?"/>

              
          </bean>

              
          <bean id="quartzCronBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">

                
          <property name="triggers">

                  
          <list>

                     
          <ref bean="cronTrigger"/>

                  
          </list>

                
          </property>

              
          </bean>

          注意:這里的設(shè)置lazy-init="false",否則定時(shí)的方法不會(huì)被執(zhí)行。

          參考:

          http://java.chinaitlab.com/advance/743501_2.html

          http://flytogether.javaeye.com/blog/64909

          posted on 2008-09-06 22:42 gdufo 閱讀(587) 評(píng)論(0)  編輯  收藏 所屬分類: Appfuse

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 济源市| 兰州市| 曲靖市| 曲阜市| 布拖县| 灵宝市| 尚志市| 五指山市| 玉山县| 香河县| 瓦房店市| 江安县| 清河县| 陆河县| 屏东县| 临漳县| 彭山县| 祁东县| 怀宁县| 灌云县| 沂水县| 增城市| 建始县| 辽宁省| 合肥市| 绍兴市| 安吉县| 萨迦县| 关岭| 旺苍县| 江源县| 滦南县| 麻江县| 滨州市| 墨玉县| 治县。| 昭觉县| 牙克石市| 泸溪县| 巩留县| 英吉沙县|