背景:
          閱讀IT學生網新聞

          Spring3.0的任務調度-軟件開發工程師必讀

          [日期:03-13] 來源:IT學生網  作者:QQ251048012 計算機培訓學校

          spring3.0-軟件開發工程師必讀

                  Spring Security 3.0系列開發出來的時間并不長,不過目前已經有許多項目整合進入了Spring Security 3.0,原因是確實比2.0系列有了不上改進,不過目前關于Spring Security 3.0的中文開發文檔和書籍太少了,下面老師為大家介紹Spring Security 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>
          定義好之后,正常啟動容器即可,只有條件符合,即會按要求執行任務。
          Spring Security 3.0

          轉載請注明源自IT學生網

          www.clcw168.com

          IT學生網內容分類
          主站蜘蛛池模板: 呼图壁县| 太和县| 普兰店市| 泽普县| 厦门市| 库尔勒市| 镇远县| 龙江县| 石景山区| 遂平县| 庆阳市| 大兴区| 黔南| 盐池县| 杭锦旗| 仙游县| 交城县| 阿坝县| 盐亭县| 徐闻县| 天峨县| 筠连县| 安丘市| 澳门| 兴国县| 乌鲁木齐县| 宝坻区| 岚皋县| 新泰市| 丰顺县| 杭锦后旗| 宝清县| 陆河县| 景泰县| 肥城市| 德庆县| 壤塘县| 广汉市| 前郭尔| 浮山县| 大同市|