背景:
        閱讀IT學(xué)生網(wǎng)新聞

        Spring3.0的任務(wù)調(diào)度-軟件開發(fā)工程師必讀

        [日期:03-13] 來源:IT學(xué)生網(wǎng)  作者:QQ251048012 計算機(jī)培訓(xùn)學(xué)校

        spring3.0-軟件開發(fā)工程師必讀

                Spring Security 3.0系列開發(fā)出來的時間并不長,不過目前已經(jīng)有許多項目整合進(jìn)入了Spring Security 3.0,原因是確實(shí)比2.0系列有了不上改進(jìn),不過目前關(guān)于Spring Security 3.0的中文開發(fā)文檔和書籍太少了,下面老師為大家介紹Spring Security 3.0的任務(wù)調(diào)度。

               Spring3.0以后,自己已經(jīng)完全支持更加精確的時間,而不需要Quartz(Quartz是一個開放源碼項目,專注于任務(wù)調(diào)度器,提供了極為廣泛的特性如持久化任務(wù),集群和分布式任務(wù)等。Spring對Quartz的集成與其對JDK Timer的集成在任務(wù)、觸發(fā)器和調(diào)度計劃的聲明式配置方面等都非常相似。 
        )的支持:當(dāng)然后面我們也會用Quartz實(shí)現(xiàn)任務(wù)的調(diào)度。
                Spring3.0同樣也使用cron表達(dá)式。與Quartz不同的是,Spring3.0不支持年,而Quartz支持年。但這點(diǎn)好象并不是非常重要。
        cron表達(dá)式:-是用空格分開的時間字段,不使用年。
        *(秒0-59)    *(分鐘0-59)   *(小時0-23)  *(日期1-31)   *(月份1-12或是JAN-DEC)  *(星期1-7或是SUN-SAT)  
        示例:
        */5  * * * * 6-7  :: 每個周6到周日,每隔5秒鐘執(zhí)行一次。
        */1 * * 7-9 1-2 1-7 :: 1月到2月中的7號到9號,且必須要滿足周一到周日,每隔1秒鐘執(zhí)行一次。
        */1 * * 7-9 1,5 1-7  :: 注意里面的,(逗號),只有1月和5月的7到9號,且必須要滿足周一到周日,每一秒鐘執(zhí)行一次。
        */1 17-59 * 7-9 1,5 1-7 :: 只解釋17-59,是指從第17分鐘到第59分鐘,在指定的時間內(nèi),每一秒種執(zhí)行一次
        * 17-59 * 7-9 1,5 1-7   :: 此代碼的功能與上面完全相同。如果不寫秒即為每一秒執(zhí)行一次。
        59 19-23 * 7-9 1,5 1-7  :: 19分-23分的每59秒鐘時只執(zhí)行一次。
        59 19,26 * 7-9 1,5 1-7  :: 注意里面的,(逗號),是指只有19分或是26分的56秒鐘時執(zhí)行一次。
        * * 16-23 7-9 1,5 1-7   :: 定義每天的16點(diǎn)到23點(diǎn)每一秒鐘執(zhí)行一次。
        59 59 23 * * 1-5  :: 定義每周1到周5,晚上23:59:59秒只執(zhí)行一次。這個相當(dāng)用有。可以工作時間每天給用戶發(fā)郵件。
        在Spring3.0中引用了新的命名空間-task:
        task:scheduler 用于定義一個ThreadPoolTaskScheduler,并可以指定線程池的大小,即pool-size.所有任務(wù)隊列都將會在指定大小的線程池中運(yùn)行:
        定義如下:
          <!-- 對于同一個Pojo可以聲明多次,并設(shè)置標(biāo)記屬性 -->
         <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>
         <!-- 聲明一個具有兩個線程的池,每一個對象將獲取同樣的運(yùn)行機(jī)會 -->
         <task:scheduler id="sch" pool-size="2"/>
         <!-- 引用線程池 -->
         <task:scheduled-tasks scheduler="sch">
         <!-- 引用Spring Bean并設(shè)置調(diào)用的方法的時間間隔 -->
        <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>
        <!-- 配置一個定時執(zhí)行的任務(wù) -->
        <bean id="work" class="cn.itcast.schedule.Two"/>
        <task:scheduler id="sendMail"/>
        <task:scheduled-tasks scheduler="sendMail">
        <!-- 定義在1月8號19:37:1秒執(zhí)行一次,無論是周幾 -->
        <task:scheduled ref="work" method="work" cron="1 37 19 8 1 *"/>
        </task:scheduled-tasks>
        定義好之后,正常啟動容器即可,只有條件符合,即會按要求執(zhí)行任務(wù)。
        Spring Security 3.0

        轉(zhuǎn)載請注明源自IT學(xué)生網(wǎng)

        m.jennabee.com

        IT學(xué)生網(wǎng)內(nèi)容分類
        主站蜘蛛池模板: 亚洲高清一区二区三区| 国产精久久一区二区三区| 亚州日本乱码一区二区三区| 国产高清不卡一区二区| 国产一区二区三区不卡在线看| 亚洲中文字幕在线无码一区二区| 久久99精品免费一区二区| 国产一区在线观看免费| 九九无码人妻一区二区三区| 亚洲国产成人久久综合一区| 中文人妻av高清一区二区| 国产激情精品一区二区三区| 国产人妖视频一区二区破除| 国产精品视频免费一区二区三区| 亚洲AV无码片一区二区三区 | 无码一区二区三区免费| 一区二区三区免费视频网站| 最新中文字幕一区| 成人区人妻精品一区二区三区| 日韩一区二区超清视频| 久久精品无码一区二区WWW| 污污内射在线观看一区二区少妇| 亚洲一区二区三区偷拍女厕| 亚洲综合色自拍一区| 少妇人妻偷人精品一区二区| 丝袜人妻一区二区三区网站| 伊人激情AV一区二区三区| 射精专区一区二区朝鲜| 日韩精品无码免费一区二区三区| 中文字幕一精品亚洲无线一区| 成人免费一区二区三区| 国产精华液一区二区区别大吗| 中文字幕精品无码一区二区三区 | 成人区精品人妻一区二区不卡| 国产精品无码一区二区在线观一 | 91视频国产一区| 中文字幕日韩丝袜一区| 精品国产一区二区三区AV | 国产精品一区二区av不卡| 自慰无码一区二区三区| 中文字幕视频一区|