<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    Spring 3.0的任務調度

    Spring3.0以后,自己已經完全支持更加精確的時間,而不需要Quartz(Quartz是一個開放源碼項目,專注于任務調度器,提供了極為廣泛的特性如持久化任務,集群和分布式任務等。Spring對Quartz的集成與其對JDK Timer的集成在任務、觸發器和調度計劃的聲明式配置方面等都非常相似。 )的支持:當然后面我們也會用Quartz實現任務的調度。

    Spring3.0同樣也使用cron表達式。與Quartz不同的是,Spring3.0不支持年,而Quartz支持年。但這點好象并不是非常重要。

    cron表達式:-是用空格分開的時間字段,不使用年。
    *(秒0-59)    
    *(分鐘0-
    59)  
    *(小時0-
    23)  
    *(日期1-
    31)  
    *(月份1-12或是JAN-DEC)  
    *(星期1-7或是SUN-SAT)  

    示例: 
    */
    5  * * * * 6-7  :: 每個周6到周日,每隔5秒鐘執行一次。
     
    */
    1 * * 7-9 1-2 1-7 :: 1月到2月中的7號到9號,且必須要滿足周一到周日,每隔1秒鐘執行一次。 

    */
    1 * * 7-9 1,5 1-7  :: 注意里面的,(逗號),只有1月和5月的7到9號,且必須要滿足周一到周日,每一秒鐘執行一次。 

    */
    1 17-59 * 7-9 1,5 1-7 :: 只解釋17-59,是指從第17分鐘到第59分鐘,在指定的時間內,每一秒種執行一次 

    17-59 * 7-9 1,5 1-7  :: 此代碼的功能與上面完全相同。如果不寫秒即為每一秒執行一次。 

      59
     19-23 * 7-9 1,5 1-7  :: 19分-23分的每59秒鐘時只執行一次。 

      59 19,26 * 7-9 1,5 1-7  :: 注意里面的,(逗號),是指只有19分或是26分的56秒鐘時執行一次。 

      * * 
    16-23 7-9 1,5 1-7  :: 定義每天的16點到23點每一秒鐘執行一次。 

      59 59 23 * * 1-5  :: 定義每周1到周5,晚上23:59:59秒只執行一次。
    這個相當用有。可以工作時間每天給用戶發郵件。 

    在Spring3.0中引用了新的命名空間-task:
    task:scheduler 用于定義一個ThreadPoolTaskScheduler,并可以指定線程池的大小,
    即pool-size.所有任務隊列都將會在指定大小的線程池中運行:

    定義如下:
    <!-- 對于同一個Pojo可以聲明多次,并設置標記屬性 -->  
    <bean id="one" class="cn.itcast.schedule.One">  
    <property name="task" value="A"></property>  
    </bean>  

    <bean id="two" class="cn.itcast.schedule.One">  
    <property name="task" value="B"></property>  
    </bean>  

    <bean id="three" class="cn.itcast.schedule.One">  
    <property name="task" value="C"></property>  
    </bean>  

    <!-- 聲明一個具有兩個線程的池,每一個對象將獲取同樣的運行機會 -->  
    <task:scheduler id="sch" pool-size="2"/>  

    <!-- 引用線程池 -->  
    <task:scheduled-tasks scheduler="sch">  
        
    <!-- 引用Spring Bean并設置調用的方法的時間間隔 --> 
        
    <task:scheduled ref="one" method="doSomeThing"  fixed-delay="#{1000*3}"/> 
           <task:scheduled ref="two" method="doSomeThing"  fixed-delay="#{1000*3}"/> 
           <task:scheduled ref="three" method="doSomeThing"  fixed-delay="#{1000*3}"/> 
      </task:scheduled-tasks> 

    <!-- 配置一個定時執行的任務 --> 
    <bean id="work" class="cn.itcast.schedule.Two"/> 

    <task:scheduler id="sendMail"/> 

    <task:scheduled-tasks scheduler="sendMail"> 
        
    <!-- 定義在1月8號19:37:1秒執行一次,無論是周幾 --> 
        
    <task:scheduled ref="work" method="work" cron="1 37 19 8 1 *"/> 
    </task:scheduled-tasks> 


    定義好之后,正常啟動容器即可,只有條件符合,即會按要求執行任務。

    posted on 2012-10-12 10:51 paulwong 閱讀(4276) 評論(0)  編輯  收藏 所屬分類: SRPING BATCH

    主站蜘蛛池模板: 亚洲字幕在线观看| 无码免费又爽又高潮喷水的视频| 毛片免费在线视频| 欧洲精品码一区二区三区免费看| 亚洲高清专区日韩精品| 亚洲免费福利在线视频| 人人公开免费超级碰碰碰视频| 亚洲国语精品自产拍在线观看| 日韩视频免费一区二区三区| 在线视频网址免费播放| 亚洲精品亚洲人成在线播放| 亚洲人成色7777在线观看不卡| 91在线手机精品免费观看| 婷婷国产偷v国产偷v亚洲| 亚洲Av无码精品色午夜| 国产成人综合久久精品免费 | 亚洲国产成人99精品激情在线| 亚洲国产精品成人久久蜜臀| h视频在线观看免费完整版| 男女猛烈激情xx00免费视频| 亚洲熟妇色自偷自拍另类| 亚洲一本大道无码av天堂| 99久久免费国产精品特黄| 野花香高清在线观看视频播放免费| 亚洲日韩AV一区二区三区中文| 久久综合图区亚洲综合图区| 四虎影视永久免费观看| 国产乱子精品免费视观看片| 韩日电影在线播放免费版| jizzjizz亚洲日本少妇| 亚洲中文字幕无码一去台湾| 亚洲AV日韩AV鸥美在线观看| 亚洲成a人一区二区三区 | 久久精品视频亚洲| 亚洲欧洲日本在线| 国产大片91精品免费观看男同| 免费人成在线观看69式小视频| 日本免费中文字幕| 国产无限免费观看黄网站| 久久亚洲欧美国产精品| 亚洲字幕AV一区二区三区四区|